我有一個int數組,它包含一個定義的元素數,所有陽性。我想從這個所有元素只出現一次的數組中獲得一個數組。例如如果第一個數組是像{2000,2011,2011,2012,2009,2009,2000}
,我希望得到這個{2000,2011,2012,2009}
。我怎樣才能做到這一點?我用循環嘗試了很多東西,但我無法設法做好一些事情。
回答
的使用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
這隻會創建一個IEnumerable,而不是一個數組。要返回一個新數組,你需要在結果上調用ToArray。例如:'yourArray = yourArray.Distinct()。ToArray();' – Wormbo
我編輯了我的答案,即使它只是給OP正確的方向去 –
請注意,由'Distinct'返回的值不是保證有序。如果你想按值排序,可以使用'yourArray.Distinct()。OrderBy(x => x).ToArray()'。如果保持原始的插入順序很重要,(如你的例子所示),你可能需要一個比較慢的選項,比如Efthimis's(但是我建議'列表
除了其他的答案,你可能想看看在HashSet
,特別是如果你提前知道的時候,你將有重複的值。
替代方式:
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);
}
- 1. 從數組中刪除重複的值
- 2. 如何刪除MongoDB中文檔中數組中的重複值?
- 3. 如何從PHP中的數組中刪除重複值?
- 4. 如何刪除數組中的重複值Angular 2
- 5. 如何刪除數組中的重複值actionscript3
- 6. 如何刪除數組flex中的重複值?
- 7. 如何刪除數組中的一個重複值?
- 8. 如何在jQuery的數組中刪除部分重複值
- 9. 如何刪除多維數組中特定鍵的重複值?
- 10. 如何刪除重複值
- 11. 如何刪除HashSet中的重複值
- 12. 如何刪除PHP中的重複值?
- 13. 如何刪除表中的重複值
- 14. 排列數組並刪除重複值
- 15. 數組合並和刪除重複值
- 16. 如何從多維數組中刪除重複值?
- 17. 如何從數組中刪除重複值?
- 18. 從數組列表中刪除重複的數組值
- 19. 如何從元組中刪除重複
- 20. 如何使用jQuery刪除數組中和數組之間的重複值
- 21. PHP - 如何比較兩個數組並刪除重複的值
- 22. 刪除重複數組項
- 23. 如何在PHP中重新刪除多維數組中的重複值
- 24. 如果重複從數組中刪除多維元素的值?
- 25. 刪除數組中的重複項(C++)
- 26. php刪除數組中的重複項
- 27. 刪除數組中的重複項
- 28. 刪除數組中的重複鍵
- 29. C#中的數組重複刪除
- 30. 刪除PHP數組中的重複項
看到的感謝!有用!!! – Cippo