Jak transponować wymiary w kolekcji 2D za pomocą LINQ?

Rozważ następującą strukturę:

<code>IEnumerable<IEnumerable<int>> collection = new[] { 
    new [] {1, 2, 3}, 
    new [] {4, 5, 6}, 
    new [] {7, 8, 9} 
};
</code>

Jak mogę wyliczyć tę kolekcję, aby uzyskaćIEnumerable<int> kolekcje składające się z pierwszych przedmiotów, drugich przedmiotów itp.?

To znaczy {1, 4, 7}, {2, 5, 8}, ...

(Chociaż implementacja, którą wybrałem, jestint[] obiekty, załóżmy, że maszIEnumerable<int> funkcjonalność. Dzięki.)

questionAnswers(4)

yourAnswerToTheQuestion