我正在对List中的每个整数进行平方.这是代码.
class SomeIntgs
{
List<int> newList = new List<int>();
public List<int> get()
{
IEnumerable<int> intrs = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
newList.AddRange(intrs);
return newList;
}
}
Run Code Online (Sandbox Code Playgroud)
我在Main()中收到错误
SomeIntgs stg = new SomeIntgs();
var qry = from n in stg.get() where (P => P*P) select n;
Run Code Online (Sandbox Code Playgroud)
错误:"无法将lambda表达式转换为bool类型".
请帮忙.
还帮助我,我如何在一般情况下处理lambda
你不需要where,试试这个:
SomeIntgs stg = new SomeIntgs();
var qry = from n in stg.get() select n*n;
Run Code Online (Sandbox Code Playgroud)
要么
var qry = stg.get().Select(P => P*P);
Run Code Online (Sandbox Code Playgroud)
Enumerable.Where 用于过滤序列中的元素 - 您真正想要做的是投射一个新的元素序列,如上所示.