ソースコード
public static class IListExtensions { /// <summary> /// 重複している要素を抽出して返します /// </summary> public static T[] GetDistinct<T>( this IList<T> self ) { var uniqueList = new List<T>(); var result = new List<T>(); foreach ( var n in self ) { if ( uniqueList.Contains( n ) ) { result.Add( n ); } else { uniqueList.Add( n ); } } return result.ToArray(); } }
使い方
var list = new [] { 1, 2, 2, 3, 4, 4, 5 }; var result = list.GetDistinct(); foreach ( var n in result ) { Debug.Log( n ); }
結果
2 4