c# - 如何比较数组中的值

标签 c# .net c#-2.0 arrays

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

如何确定所有值都相同?在上面的示例中,它会失败,但如果您有“1,1,1”,那将是正确的。

最佳答案

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

对于一个数组,名为arr :

var allSame = Array.TrueForAll(arr, x => x == arr[0]);

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

var allSame = lst.TrueForAll(x => x == lst[0]);

对于一个可迭代对象( IEnumerable<T> ),命名为 col :

var first = col.First();
var allSame = col.All(x => x == first);

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

关于c# - 如何比较数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1087105/

相关文章:

c# - 如何用 func 委托(delegate)替换 Action 委托(delegate)将值返回给函数

c# - 多维数组列表 C#

c# - C# 中用于 Char 输出的更简单方法?

c# - 获取类型的转换器

c# - 硬币被抛出,直到一侧连续跌落 3 次

C# LPT inpout32.dll

c# - 无法加载文件或程序集 'Microsoft.SqlServer.Types, Version=12.0.0.0, Culture=neutral, PublicKeyToken=myKey' 或其依赖项之一。

c# - MsTest 数据驱动 : ignore specific datarows via testattribute?

c# - 带 OR 的 linq where 语句

c# - 如何在 JSON.NET 中实现自定义 JsonConverter?