我有一个方法,必须返回一个对象列表,但我不知道怎么做! 我的问题是将groupdResult转换(或者可能)转换为IList。
internal IList<MyClass> MyMethod()
{
IList<MyClass> result=new List<MyClass>();
IList<MyClass> rawData = this.GetRawDatas();
foreach (MyClass item in rawDatas)
{
// do somthings
MyClass balancedData = new MyClass();
if(some conditions)
{
result.Add(balancedData);
}
}
var groupdResult = result.GroupBy(x => x.MyField).ToList();
return groupdResult;
}
答案 0 :(得分:3)
考虑一下:结果要么是组列表,要么是未组合对象列表。我相信你想要的实际上只是一个排序列表:
return result.OrderBy(x => x.MyField).ToList();
答案 1 :(得分:1)
这不是你遇到麻烦的List / IList。这是GroupBy不返回MyClass的事实。
GroupBy返回一个IGrouping,所以行
var groupdResult = result.GroupBy(x => x.MyField).ToList();
返回List&lt; IGrouping&LT; MyClass&gt; &GT;