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();
}