首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何比较数组中的值

如何比较数组中的值
EN

Stack Overflow用户
提问于 2009-07-06 13:52:44
回答 5查看 10.5K关注 0票数 2

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

如何确定所有值都是相同的?在上面的例子中,它会失败,但如果你有"1,1,1“,那就是真的。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-07-06 14:06:03

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

对于名为arr的数组

代码语言:javascript
运行
复制
var allSame = Array.TrueForAll(arr, x => x == arr[0]);

对于名为lst的列表(List<T>)

代码语言:javascript
运行
复制
var allSame = lst.TrueForAll(x => x == lst[0]);

对于名为col的可迭代(IEnumerable<T>)

代码语言:javascript
运行
复制
var first = col.First();
var allSame = col.All(x => x == first);

请注意,这些方法不能处理空数组/列表/可迭代对象。然而,添加这样的支持是微不足道的。

票数 9
EN

Stack Overflow用户

发布于 2009-07-06 13:54:05

迭代每个值,将第一个值存储在变量中,并将数组的其余部分与该变量进行比较。一旦其中一个失败,你就知道所有的值都不一样了。

票数 6
EN

Stack Overflow用户

发布于 2009-07-06 13:59:58

不如像这样..。

代码语言:javascript
运行
复制
string numArray = "1,1,1,1,1";
return numArrray.Split( ',' ).Distinct().Count() <= 1;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1087105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档