Unityでも便利なLINQメソッドを色々使いたかったのでExtraLINQをUPM対応しましたから早一年。
この1年で増えたメソッドを紹介します。
TryGetFirst / TryGetLast
DictionaryのTryGetValueっぽく使いたい時に。
if (items.TryGetFirst(x => x.Value == 5, out var target)) { }
これもできます。
if (items.TryGetFirst(out var target)) { }
MaxBy / MinBy
items.MinBy(x => x.Price).Id // 一番安いアイテムを探す
RotateLeft / RotateRight
int[] numbers = { 1, 2, 3, 4, 5 }; int[] rotatedNumbers = numbers.RotateLeft(2).ToArray(); // rotatedNumbers = [3, 4, 5, 1, 2]
インポート方法
UnityPackageManagerに https://github.com/kyubuns/ExtraLINQUnity.git?path=Unity/Assets/ExtraLINQ
を投げ込むだけ!