If I have a list containing an arbitrary number of lists, like so:
var myList = new List>()
{
new List() { \"a\",
Here's an inefficient variant based on Matrix Transposition:
public static class Ext
{
public static IEnumerable> Rotate(
this IEnumerable> src)
{
var matrix = src.Select(subset => subset.ToArray()).ToArray();
var height = matrix.Length;
var width = matrix.Max(arr => arr.Length);
T[][] transpose = Enumerable
.Range(0, width)
.Select(_ => new T[height]).ToArray();
for(int i=0; i