如果你有一个字符串"1,2,3,1,5,7“,你可以把它放在数组或哈希表中,或者任何被认为是最好的东西中。
如何确定所有值都是相同的?在上面的例子中,它会失败,但如果你有"1,1,1“,那就是真的。
发布于 2009-07-06 14:06:03
这可以使用lambda表达式很好地完成。
对于名为arr
的数组
var allSame = Array.TrueForAll(arr, x => x == arr[0]);
对于名为lst
的列表(List<T>
)
var allSame = lst.TrueForAll(x => x == lst[0]);
对于名为col
的可迭代(IEnumerable<T>
)
var first = col.First();
var allSame = col.All(x => x == first);
请注意,这些方法不能处理空数组/列表/可迭代对象。然而,添加这样的支持是微不足道的。
发布于 2009-07-06 13:54:05
迭代每个值,将第一个值存储在变量中,并将数组的其余部分与该变量进行比较。一旦其中一个失败,你就知道所有的值都不一样了。
发布于 2009-07-06 13:59:58
不如像这样..。
string numArray = "1,1,1,1,1";
return numArrray.Split( ',' ).Distinct().Count() <= 1;
https://stackoverflow.com/questions/1087105
复制相似问题