C# 在c中交换两个列表#
我有一个列表列表(一个矩阵,通过matlab的web.api HTTP POST发送) 在Matlab中,操作将是C# 在c中交换两个列表#,c#,C#,我有一个列表列表(一个矩阵,通过matlab的web.api HTTP POST发送) 在Matlab中,操作将是mylist'或在数学上下文中(转置) 您可以使用Linq来实现这一点,而不必对循环执行以下操作: var swapedList = mylist .SelectMany((l, i) => l.Select((d, j) => new { i, j, d })) .GroupBy(l=>l.j) .Select(l=>l.Selec
mylist'
或在数学上下文中(转置)
您可以使用
Linq
来实现这一点,而不必对循环执行以下操作:
var swapedList =
mylist
.SelectMany((l, i) => l.Select((d, j) => new { i, j, d }))
.GroupBy(l=>l.j)
.Select(l=>l.Select(ll=>ll.d).ToList());
.ToList();
我希望能对您有所帮助:)有试过的吗?示例列表和可用的预期结果?@TimSchmelter问题中的预期结果,@derloopkat not required,可能是mxn
(如问题所述)@robert:那么,这就是我的答案:mylist[i][j]=mylist[j][i]
@TimSchmelter这是行不通的,你知道的。我认为这个问题很清楚,至少有人(AliAdlavaran)马上就明白了。我认为这个操作被称为“转置”-@RobertStettler我也是,我认为Tim试图让任何人都能理解这个问题(但我不会判断在这个案例中是否真的需要一个例子),它工作得非常完美
mylist[i][j] --> mylist[j][i]
mylist^T
var swapedList =
mylist
.SelectMany((l, i) => l.Select((d, j) => new { i, j, d }))
.GroupBy(l=>l.j)
.Select(l=>l.Select(ll=>ll.d).ToList());
.ToList();