检查数组的所有值是否为整数1

时间:2014-08-04 16:57:10

标签: c# arrays

我试图使用Array.All或array.TrueforAll来查看我的数组中的所有值是否为1.我似乎可以让它工作

bool allAreOne = Array.TrueForAll(globalVariables.singlePeriodClasses, value = 1);

但我得到“值”不存在的错误......不太确定如何使用此方法。

2 个答案:

答案 0 :(得分:5)

bool allAreOne = Array.TrueForAll(
                   globalVariables.singlePeriodClasses, 
                   value => value == 1);

第二个参数是谓词,它定义了检查元素的条件。请记住, 谓词是一个返回true或false的函数

  

Predicate是一个方法的委托,如果是,则返回true   传递给它的对象与委托中定义的条件匹配。   数组的元素分别传递给Predicate,和   当委托对任何元素返回false时,处理停止。

MSDN了解详情。

答案 1 :(得分:4)

TrueForAll方法需要delegate(在本例中为Predicate<T>)。提供一个的最简单方法是lambda expression=>)。另请注意assignment=)和equality==)运算符之间的区别:

bool allAreOne = Array.TrueForAll(
    globalVariables.singlePeriodClasses, 
    value => value == 1);