into(C# 参考)

可使用 into 上下文关键字创建临时标识符,将 groupjoinselect 子句的结果存储至新标识符。 此标识符本身可以是附加查询命令的生成器。 有时称在 groupselect 子句中使用新标识符为“延续”。


下面的示例演示使用 into 关键字来启用具有推断类型 IGrouping 的临时标识符 fruitGroup。 通过使用该标识符,可对每个组调用 Count 方法,并且仅选择那些包含两个或更多个单词的组。

class IntoSample1
    static void Main()

        // Create a data source.
        string[] words = { "apples", "blueberries", "oranges", "bananas", "apricots"};

        // Create the query.
        var wordGroups1 =
            from w in words
            group w by w[0] into fruitGroup
            where fruitGroup.Count() >= 2
            select new { FirstLetter = fruitGroup.Key, Words = fruitGroup.Count() };

        // Execute the query. Note that we only iterate over the groups,
        // not the items in each group
        foreach (var item in wordGroups1)
            Console.WriteLine(" {0} has {1} elements.", item.FirstLetter, item.Words);

        // Keep the console window open in debug mode
        Console.WriteLine("Press any key to exit.");
/* Output:
   a has 2 elements.
   b has 2 elements.

仅当希望对每个组执行附加查询操作时,才需在 group 子句中使用 into。 有关详细信息,请参阅 group 子句

有关在 join 子句中使用 into 的示例,请参见 join 子句