2012-08-13 33 views
0

我有一個方法,必須返回一個對象列表,但我不知道如何! 我的問題是轉換(或可能鑄造)groupdResult IList。如何使用GroupBy與對象列表並返回IList <T>?

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

什麼是你的代碼錯誤...它返回的結果列表型......? – 2012-08-13 08:32:46

+0

你想達到什麼目的?分組表明你想要一個列表列表而不是'MyClass'對象列表。 – 2012-08-13 12:43:34

回答

1

這不是List/IList的問題。這是GroupBy不返回MyClass的事實。

的GroupBy返回IGrouping,所以線

var groupdResult = result.GroupBy(x => x.MyField).ToList(); 

返回一個List < IGrouping < MyClass的>>。

2

想一想:結果要麼是組的列表,要麼是未被分組的對象列表。我相信你想要的東西實際上只是一個排序列表:

return result.OrderBy(x => x.MyField).ToList(); 
+0

這幫了我很大的忙,謝謝! – xxyyxx 2012-10-31 17:02:07

相關問題