如何比较数组中的值

Jon*_*Jon 2 .net c# arrays c#-2.0

如果你有一个字符串"1,2,3,1,5,7",你可以把它放在一个数组或哈希表或任何被认为是最好的.

你如何确定所有的价值是一样的?在上面的例子中它会失败,但如果你有"1,1,1"那将是真的.

Nol*_*rin 8

这可以使用lambda表达式很好地完成.

对于一个名为arr:

var allSame = Array.TrueForAll(arr, x => x == arr[0]);
Run Code Online (Sandbox Code Playgroud)

对于list(List<T>),命名为lst:

var allSame = lst.TrueForAll(x => x == lst[0]);
Run Code Online (Sandbox Code Playgroud)

对于iterable(IEnumerable<T>),命名为col:

var first = col.First();
var allSame = col.All(x => x == first);
Run Code Online (Sandbox Code Playgroud)

请注意,这些方法不处理空数组/列表/迭代.然而,这种支持是微不足道的.


Alb*_*oPL 6

遍历每个值,将第一个值存储在变量中,并将数组的其余部分与该变量进行比较.瞬间失败,你知道所有的值都不一样.


Mar*_*all 5

怎么样......

string numArray = "1,1,1,1,1";
return numArrray.Split( ',' ).Distinct().Count() <= 1;
Run Code Online (Sandbox Code Playgroud)