2016-05-27 1 views
0

MyClassのリストを返すメソッドがあります。その方法の中で私はMyClassのリストを500個の要素と言うより小さな塊に分割しました。これが可能であれば、yieldの記述と一緒にできるのだろうかと思います。現在、私はこのコードを持っています。しかし、私はこの乱雑な第二の内側のループなしで全体の束を返す方法がある場合、興味があります。要素の束を返します

IEnumerable<MyClass> DoSomething() 
{ 
    List<MyClass> myList = ... 
    foreach(var chunk in myList.Chunk(500)) // split the list in smaller lists 
    { 
     foreach(MyClass m in chunk) yield return m; 
    } 
} 

もちろん、これは動作しますが、私もdeferredly全体の束を返すためにyieldを使用することができるのだろうか。

+0

'Chunk'は何をしますか? –

+0

リストをリストのリストに分割します – HimBromBeere

+0

実装を共有できますか? –

答えて

0

と仮定するとChunk戻っあなたができるList<>のいくつかの並べ替え:

IEnumerable<IList<MyClass>> DoSomething() 
{ 
    List<MyClass> myList = ... 
    foreach(var chunk in myList.Chunk(500)) // split the list in smaller lists 
    { 
     yield return chunk; 
    } 
} 
関連する問題