假设我有一个列表,我想检查其成员是否都等于“某个字符串”:
myList.All(v => v.Equals("some string"))
我认为这会做同样的事情(或者会吗?!):
myList.All("some string".Equals)
但是如果我想使用自己的方法而不是 .Equals
呢?
public bool LessThan16Char(string input)
{
return (input.Length < 16);
}
如何用 LessThan16Char
替换 .Equals
?
如果该方法有第二个参数(例如 lessthan(string Input, Int lessThanVal)
)怎么办
如果网络上有任何描述这类事情的文章,我也很感激,谢谢。
最佳答案
你可以直接调用它:
public Class1()
{
var myList = new List<string>();
var foo = myList.All(LessThan16Char);
}
如果您需要第二个参数,那么您将需要 lambda:
public Class1()
{
var myList = new List<string>();
var foo = myList.All(l=>LessThan16Char(l,16));
}
public bool LessThan16Char(string input, int max)
{
return (input.Length < max);
}
关于c# - 如何使用省略了 lambda 的非常短的 linq 将方法应用于所有列表成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36906470/