UnityUnityで使えるC#6の機能を一通りまとめました。他クラスのstaticメソッドを自分のクラスに定義されているかのように使う参考Unity2018.2はじめにこの記事ではUnityを使ってC#6の機能をまとめました。async/awaitはC#5ってのもありますが、何より長くなるため以下の別記事にまとめました。light11.hatenadiary.comlight11.hatenadiary.comC#6を使うための準備UnityでC#6を使うにはまず.Netのバージョンを上げる必要があります。変更するとUnityの再起動を促されると思うので再起動します。Studioを開いて下記のダイアログが出たら対応する.Netをインストールします。これで準備は完了です。それではC#6の機能を見ていきます。null条件演算子Swiftなどでいうところのオプショナルチェインができるようになりました。nullableな変数に対して下記のように書くことでnullだったらそれ以降の判定が行われなくなり、例外が発生しなくなります(コード見てもらったほうが早いです)。Debug.Log(_example?.exampleInt);}System.Actionのnullチェックとかしなくてよくなるのでいい感じです。callback?.Invoke();}ただしこの機能はUnityEngine.Objectとの相性が良くないため使い方に注意が必要です。これについては以下の記事にまとめていますので、必要に応じて参照してください。light11.hatenadiary.comプロパティの初期値プロパティの初期値を指定できるようになりました。以前は初期化用のフィールドを用意する必要がありましたが簡潔に書けるようになりました。プロパティを初期化できるメソッドを一行で書く簡単なメソッドは一行で書けるようになりました。x;getterしかないプロパティを一行で書く前節のメソッドを一行で書くのと同じ機能ですが、getterしかないプロパティを一行で書けるようになりました。"個";string.Format()してたものを簡潔にstring.Format()で変数と文字列を合成していたような処理を簡潔に書けるようになりました。【新】$から始めて簡潔に書けるようになったDebug.Log($"{itemName}が{itemCount}個");インスタンス名を取得nameof演算子でインスタンスの名前を取れるようになりました。いう文字列が取れるDictionaryを簡単に初期化Dictionaryの初期化が簡潔に書けるようになりました。3,};ちなみにこの機能はインデックス初期化子といい、Dictionaryだけでなくインデクサでも使用可能です。staticを使うと、他クラスに定義されているstaticなメソッドを、あたかも自分のクラスに定義されているもののように書くことができます。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。Blur(渦巻ブラー)のポストエフェクトを実装する月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。