重複の可能性:
アレイから重複を削除します
定義された数の要素を含むint配列があり、すべて正です。これから、すべての要素が1回だけ表示される配列を取得したいと思います。たとえば、最初の配列がのようなものだった場合、{2000,2011,2011,2012,2009,2009,2000}
これを取得したいと思います{2000,2011,2012,2009}
。これどうやってするの?私はforループでたくさんのことを試しましたが、なんとか良いことをすることができません。
重複の可能性:
アレイから重複を削除します
定義された数の要素を含むint配列があり、すべて正です。これから、すべての要素が1回だけ表示される配列を取得したいと思います。たとえば、最初の配列がのようなものだった場合、{2000,2011,2011,2012,2009,2009,2000}
これを取得したいと思います{2000,2011,2012,2009}
。これどうやってするの?私はforループでたくさんのことを試しましたが、なんとか良いことをすることができません。
LINQを使用すると、簡単です。
var intArray = new[] { 2000, 2011, 2011, 2012, 2009, 2009, 2000 };
var uniqueArray = intArray.Distinct().ToArray();
http://msdn.microsoft.com/en-us/library/system.linq.enumerable.distinct.aspx
別の方法は、Enumerable.GroupByを使用することです。
uniqueArray = intArray.GroupBy(i => i).Select(grp => grp.Key).ToArray();
あなたは以下を行うことができます
var yourArray = yourArray.Distinct().ToArray();
http://msdn.microsoft.com/en-us/library/system.linq.enumerable.distinct.aspx
別の方法:
int[] _array = new int[] {1, 2, 1,2}
var myArray = new System.Collections.ArrayList();
foreach(var item in _array){
if (!myArray.Contains(item))
myArray.Add(item);
}
他の回答に加えてHashSet
、特に事前に重複する値があることがわかっている場合は、を確認することをお勧めします。