首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用IGrouping的值

使用IGrouping的值
EN

Stack Overflow用户
提问于 2014-01-02 17:35:40
回答 1查看 759关注 0票数 0

在我的应用程序中,我按如下方式使用了LINQ:

代码语言:javascript
复制
 var GroupedEmployyes = from e in EmpCollection
                                   group e by e.identifier into g
                                   select new { Employee= g, identifier = g.Key };

我将这个组传递给其他一些函数,如下所示:

代码语言:javascript
复制
     Save(GroupedEmployyes)

     Save(IEnumerable<IGrouping<string,Employee>> groupedEmployee)
     {



     }

如何使用Save方法从"groupedEmployee“参数访问"Employee”对象和"identifier“对象?

EN

回答 1

Stack Overflow用户

发布于 2014-01-02 17:42:39

当您指定new { Employee= g, identifier = g.Key };时,链接表达式将创建匿名类型的对象

为了能够在另一个函数(如Save )中获取这些值,您需要创建命名类型的对象。如果您不愿意为此创建一个特殊的类,那么可以使用System.Tuple

另一方面,创建employee和key的配对很奇怪,因为IGrouping已经为您完成了这项工作,例如:

代码语言:javascript
复制
 void Save(IEnumerable<IGrouping<string, Employee>> groupedEmployee)
 {
     foreach (var group in groupedEmployee)
     {
         Console.WriteLine(group.Key);

         foreach (var emp in group)
             Console.WriteLine(emp.ToString());
     }
 }

您可以使用以下命令调用此函数:

代码语言:javascript
复制
Save(EmpCollection.GroupBy(e => e.identifier));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20879955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档