c# – LINQ将列交换成行

前端之家收集整理的这篇文章主要介绍了c# – LINQ将列交换成行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有一个奇怪的LINQ表达式,可以让我以更简单的方式做以下的事情.我有一个List< List< double>>,假设List是2d矩阵中的列,我想将列列表交换到行列表中.我有以下明显的解决方案:
int columns = 5;
var values; // assume initialised as List<List<double>>()

var listOfRows = new List<List<double>>();
for (int i = 0; i < columns ; i++)
{
    List<double> newRow = new List<double>();
    foreach (List<double> value in values)
    {
        newRow.Add(value[i]);
    }
    listOfRows.Add(newRow);
}

解决方法

您可以轻松地LINQify内部循环:

vector.AddRange(values.Select(value => value [i]));

是否改善可读性完全取决于您!

猜你在找的C#相关文章