Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C LINQ分组问题_C#_Linq - Fatal编程技术网

C# C LINQ分组问题

C# C LINQ分组问题,c#,linq,C#,Linq,我有一个对象,其结构如下 public MyObject{ int SomeNumber {get;set;} Object SomeObject {get;set;} Object SomeOtherObject {get;set;} } 现在SomeNumber不是唯一的,如果我有一个IEnumerable,我怎么能提取出一个IEnumerable,它都有相同的SomeNumber值 我想我需要用GroupBy来做这个?但我似乎做不好 编辑:我不知道SomeNumb

我有一个对象,其结构如下

public MyObject{
    int SomeNumber {get;set;}
    Object SomeObject {get;set;}
    Object SomeOtherObject {get;set;}
}
现在SomeNumber不是唯一的,如果我有一个IEnumerable,我怎么能提取出一个IEnumerable,它都有相同的SomeNumber值

我想我需要用GroupBy来做这个?但我似乎做不好

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

不需要GroupBy,除非你想将它们分组

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

应该可以。

回答得好。尽管如此,只要您想要多个数字的项目,您最好将它们分组。特别是,因为你可能不知道,你对哪个数字感兴趣。我不知道它的价值是什么。这在我的问题中可能不太清楚。你应该能够删除到g select中g@StriplingWarrior:酷,调整好了
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();
}