LINQ查询语法具有多个语句

时间:2017-12-23 09:37:42

标签: c# linq linq-query-syntax

可以使用LINQ的查询语法重写此方法吗?

public IEnumerable<Item> GetAllItems()
{
    return Tabs.SelectMany(tab =>
        {
            tab.Pick();
            return tab.Items;
        });
}

我无法弄清楚tab.Pick()方法调用的位置。

1 个答案:

答案 0 :(得分:5)

不,LINQ中的查询表达式要求每个选择部分等都是单个表达式,而不是多个语句。

但是,您可以编写一个单独的方法:

var query = from tab in tabs
            from item in PickItems(tab)
            select item.Name;

然后使用:

subdomain: still-beyond-10331.herokuapp 
domain: .com

(或者你想做什么。)