2019年12月07日(土)に開催された『【年末だよ】Unity お・と・なのLT大会 2019』のLT資料です。
https://meetup.unity3d.jp/jp/events/1178
View Slide
は10分では無理だけど・・・
「あっこんなのもあるんだ、いいじゃん!C#」ってUnityプログラマのみなさんに思ってもらうために、オススメの機能を紹介!
● @RyotaMurohoshi(むろほし)● C#・LINQ好きのMS MVP● 好きなIDEはRider● 好きなUnityの機能はTilemap
独断と偏見で選んだUnityでゲームロジックをガリガリ書くときのオススメC#の機能紹介していきます!
進化したプロパティ
プロパティ
新しいC#では、プロパティは短く書ける!
Before : Unityでよく書く
After :「式形式」はメソッドにも・プロパティにも
もう一例!
Before: ゲッター・セッター両方
After: ゲッター・セッター両方、式形式に
ここまでは、バッキングフィールドを使ったプロパティの改善でした
「自動実装プロパティ」ってありましたね
古いC#で自動実装プロパティが書けなかった場所も新しいC#では書けるように!
Before: 初期化のためだけにフィールド
After: 新しいC#ならフィールドいらない
After: readonlyのためにフィールド
Before: 新しいC#ならプロパティだけでOK
ゲームロジック書くときに、プロパティは超使う!そんなプロパティは、新しいC#でより便利に!
タプル (ValueTuple)
タプル(ValueTuple)クラス・構造体を作らなくても名前のない型を作れる。複数の値をまとめられる。ToStringやEqualsが実装され、==での比較ができる
クラスや構造体を作るのがめんどくさい時、ありません?● LINQやRxの中間データ● ちょっとしたメソッドの返り値型
そこで、タプル(ValueTuple)ですよ!
タプル(ValueTuple)は分解も便利!
タプルと分解のコンボがナイス
ロジックガリガリ書くとき、タプル、大活躍!
進化したswitch
今までのswitchのよくある使い方
今までのswitchのよくある使い方、列挙型の例
新しいC#ではswitchで型による分岐ができるように!
新しいC#では型による分岐ができるように
ダメージ計算とかで、すごい便利そうじゃないですか?
C# 8.0で、switchはもっと便利に!
private protected
private、protected、publicこういうアクセスレベルに・・・
private protectedってのが加わったよ!Assembly Definition Filesでアセンブリ分ける人、要チェック
「C#のアクセス修飾子 2019 〜protectedは 結構でかい〜」
構造体も進化
@neuecc さんのUnderstanding C# Struct All ThingsがUnity Learning Materilasに!要チェック!
それ以外にもたくさん
● 文字列もいい感じに● nullもいい感じに● ローカル関数● 式形式のメンバ● nameof他にもいろいろ!
C#たくさん、進化してましたね!
新しいC#の機能を使わなくてもUnityでゲームは作れるけれど、ロジックをたくさん作ってきたあなたの力になる機能がきっと新しいC#にある!
新しいC#の機能、使わなくてもゲームは作れるけれど、ロジックをバリバリ作ってきたあなたの力になる機能がきっと新しいC#にある!
公式ドキュメント そして @ufcpp さんのサイトでどんな新しいC#の機能があるかぜひ見てみてください!
Unity でも、新しい C#@RyotaMurohoshi2019/12/07(土) Unity部 お・と・なのLT大会 2019