繁体   English   中英

C#LINQ分组问题

[英]C# LINQ Grouping Question

我有一个结构如下的对象

public MyObject{
    int SomeNumber {get;set;}
    Object SomeObject {get;set;}
    Object SomeOtherObject {get;set;}
}

现在SomeNumber不是唯一的,如果我有IEnumerable,如何提取都具有相同SomeNumber值的IEnumerable<MyObject>

我假设我需要使用GroupBy来做到这一点? 但似乎无法做到这一点。

编辑:我不知道什么是SomeNumber。

除非您希望将它们分组,否则不需要GroupBy

IEnumerable<MyObject> myEnumerable ...
myEnumerable.Where(o => o.SomeNumber == value);
IEnumerable<MyObject> source = something;
var grouped = source.GroupBy(s => s.SomeNumber);
var myObjects = new List<MyObject>(); // fill        

var groups = from item in myObjects group item by item.SomeNumber;
// alternatively:
// var groups = myObjects.GroupBy(item => item.SomeNumber)

foreach (var g in groups)
{
    var someNumber = g.Key;
    var members = g.ToList();
}

应该做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM