处理lambda表达式

1 c# lambda

我正在对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

And*_*are 7

你不需要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 用于过滤序列中的元素 - 您真正想要做的是投射一个新的元素序列,如上所示.

  • 我没有看到任何带有这样的lambda表达式的linq查询,也不会失败吗? (2认同)