気がついたらUnityのC#がめっちゃ進化していた!
コード書いとる?
最近Unityを使ってゲームのプロトタイプを作っています。Unity 2019.4.21f1 を使ってますが、C#7.3相当の機能が使えると知って、色々と試してみたのでメモ書き。数年前からめっちゃ進化してるじゃん...。ここはnote。
値の入れ替え
タプル(いくつかの型を組み合わせた名前のない構造体...という解釈でいいのかな?)を使って値の入れ替えがサクッと書ける...
var a = 1;
var b = 2;
(a, b) = (b, a); // 値の入れ替えができる...!!
書式指定文字列
正式な名称を知らないのですが...もうFormatとかいらんやん...
var a = 1;
var text = $"{a}"; // 変数aの値が文字列中に展開される
test = $"{a:000}" // 3桁0詰め
関数の引数で変数を作る
変数のスコープが局所的になって良い!
// 変数hitを、定義と当時に引数にできる
if (Physics.Raycast(ray, out var hit, 100))
{
// 何か処理
}
LINQ
便利すぎて爆発しそう!
int[] a = { 0, 1, 2, 3, 4 };
// 偶数だけ選んで、2倍した値で新しく配列を作る
a = a.Where(v => (v % 2) == 0).Select(v => v * 2).ToArray();
nullの時は何もしない
いちいちnullチェックする手間が省けて大助かりです!
var component = GetComponent<Widget>();
component?.SomeFunction(); // componentがnullじゃない時だけ実行する
他にも色々あったような気がします...また思い出しながらまとめます。
参考資料
これまでのC#の仕様が簡潔にまとまっています!共有感謝...!
https://ufcpp.net/study/csharp/
ではまた次回!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?