C#从IGrouping中选择不同的值

C#从IGrouping中选择不同的值,第1张

概述我有两节课: class Foo { public Bar SomeBar { get; set; } }class Bar{ public string Name { get; set; } } 我有一个组合在一起的Foos列表: var someGroup = from f in fooList orderby f.SomeBar 我有两节课:

class Foo {     public bar Somebar { get; set; } }class bar{     public string name { get; set; } }

我有一个组合在一起的Foos列表:

var someGroup = from f in fooList                orderby f.somebar.name ascending                group f by f.somebar.name into Group                select Group;

如何从someGroup获取不同bars的列表?

解决方法 是否可能存在多个具有相同名称的bar?如果是这样,那很棘手.如果没有,您可以将其更改为:

var grouped = from f in fooList              orderby f.somebar.name ascending              group f by f.somebar into Group              select Group;var bars = grouped.Select(group => group.Key);

或者,如果您只需要每个名称一个条,您可以坚持使用原始查询,但更改最后一位:

var someGroup = from f in fooList                orderby f.somebar.name ascending                group f by f.somebar.name into Group                select Group;var bars = someGroup.Select(group => group.First().somebar);

这将采用每组中的第一个Foo,并找到它的bar.

总结

以上是内存溢出为你收集整理的C#从IGrouping中选择不同的值全部内容,希望文章能够帮你解决C#从IGrouping中选择不同的值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1215317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存