概要
Unity 2021.2 から LINQ で ToHashSet・SkipLast・TakeLast が標準で使えるようになった
(もしかしたら Unity 2021.1 から使えるかも?)
using System.Linq; using UnityEngine; public class Example : MonoBehaviour { private void Start() { var array = new[] { 1, 2, 2, 3, 3, 3 }; // 1, 2, 3 foreach ( var x in array.ToHashSet() ) { Debug.Log( x ); } // 1, 2, 2 foreach ( var x in array.SkipLast( 3 ) ) { Debug.Log( x ); } // 3, 3, 3 foreach ( var x in array.TakeLast( 3 ) ) { Debug.Log( x ); } } }
もしも独自で ToHashSet・SkipLast・TakeLast を拡張メソッドで定義していると
独自の拡張メソッドと System.Linq の拡張メソッドが競合して
Unity 2021.2 にアップデートした時にコンパイルエラーが発生する可能性がある