Rotate - Transposing a List> using LINQ C#

前端 未结 6 1084
半阙折子戏
半阙折子戏 2020-11-29 11:12

I\'m having a List>, which is return from the remote data source (i.e., WCF). So, I need to modify the following data into a user-frien

6条回答
  •  暗喜
    暗喜 (楼主)
    2020-11-29 12:02

    Here is a extension method

    public static IEnumerable> Pivot(this IEnumerable> source)
    {
        var enumerators = source.Select(e => e.GetEnumerator()).ToArray();
        try
        {
            while (enumerators.All(e => e.MoveNext()))
            {
                yield return enumerators.Select(e => e.Current).ToArray();
            }
        }
        finally
        {
            Array.ForEach(enumerators, e => e.Dispose());
        }
    }
    

    so you can

    var result = PersonInfo.Pivot();
    

提交回复
热议问题