如何使用LINQ和lambda语法创建匿名类型?

Sco*_*ies 16 c# linq

我有一个使用lambda语法的LINQ查询:

var query =
    books
        .Where(book => book.Length > 10)
        .OrderBy(book => book.Length)
Run Code Online (Sandbox Code Playgroud)

我想创建一个匿名类型来存储投影,类似于:

var query = from book in books
            where book.Length > 10
            orderby book
            select new { Book = book.ToUpper() };
Run Code Online (Sandbox Code Playgroud)

如何在lambda语法中"选择新"?

谢谢,

斯科特

Fre*_*örk 44

像这样:

var query =
    books
        .Where(book => book.Length > 10)
        .OrderBy(book => book.Length)
        .Select(book => new { Book = book.ToUpper() });
Run Code Online (Sandbox Code Playgroud)