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

18

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

var query =
    books
        .Where(book => book.Length > 10)
        .OrderBy(book => book.Length)

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

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

如何在lambda语法中实现"select new"?

谢谢,

Scott


"select new" 不是构造函数,它是选择一个新对象。您可以选择所有内容,并在任何地方使用匿名新对象。 - Dykam
1个回答

51

像这样:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接