比较整数数组中值的更好方法

时间:2014-05-08 18:25:06

标签: c# arrays

您认为比较整数数组中的值并打印重复项的最佳方法是什么?

我尝试使用for循环,但必须有一种更简单的方法来使用方法来比较它们。 memcmp / wmemcmp对此有用吗?或者Intersect方法?

这可能是一个菜鸟问题,所以我很感激任何可以帮助我和/或其他人的答案。

英语不是我的母语,请原谅我的输入错误。

2 个答案:

答案 0 :(得分:3)

如果您只想在单个数组中查找重复项,可以使用LINQ:

int[] duplicates = theArray
                   .GroupBy(i => i) // Group by the value
                   .Where(g => g.Count() > 1) // Filter to groups with >1 element
                   .Select(g => g.Key) // Take out the value 
                   .ToArray();

如果您尝试在两个阵列之间找到匹配项,请使用Intersect

var matches = firstArray.Intersect(secondArray); // Provides elements in both arrays

答案 1 :(得分:0)

int[] a = new int[] {6, 9, 3, 4};
int[] b = new int[] { 5, 6, 1, 9, 7, 8 };
checkDuplicates = a.Intersect(b).Any();