我有下面这段代码
这个问题是,为什么这种新的方法没有任何输入参数?因为委托Func表明NewMethod1()应该有一个字符串输入参数。
var query = wordCollection.Select((word) => { return word.ToUpper(); })
.Where((word) =>
{
return String.IsNullOrEmpty(word);
})
.ToList();
假设我想重构这段代码并从Where子句中提取lambda表达式。在Visual Studio中,我只需选择此lambda,然后执行重构->提取方法。这样一来,我的LINQ就被修改为:
var query = wordCollection.Select((word) => { return word.ToUpper(); })
.Where(NewMethod1())
.ToList();
同时声明了一个名为NewMethod1()的新方法:
private static Func<string, bool> NewMethod1()
{
return (word) =>
{
return String.IsNullOrEmpty(word);
};
}
这个问题是,为什么这种新的方法没有任何输入参数?因为委托Func表明NewMethod1()应该有一个字符串输入参数。
string
参数和bool
返回类型的方法。 - Zein Makki