Sae*_*eid 2 .net c# linq lambda method-group
假设我有一个List,我想检查成员是否都等于"some string":
myList.All(v => v.Equals("some string"))
我想这会做同样的事情(或者会吗?!):
myList.All("some string".Equals)
但如果.Equals
我不想使用自己的方法呢?
public bool LessThan16Char(string input)
{
return (input.Length < 16);
}
Run Code Online (Sandbox Code Playgroud)
如何更换.Equals
使用LessThan16Char
?
如果该方法具有第二个参数(例如lessthan(string Input, Int lessThanVal)
),该怎么办
我还要感谢网上描述这些事情的任何文章,谢谢.
你可以直接调用它:
public Class1()
{
var myList = new List<string>();
var foo = myList.All(LessThan16Char);
}
Run Code Online (Sandbox Code Playgroud)
如果您需要第二个参数,则需要使用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);
}
Run Code Online (Sandbox Code Playgroud)