2017-08-11 68 views
-3

我有一个包含10个元素的列表。每个元素都有一个字段数量。 我想要做的是更新元素[0] .Amount = element [1] .Amount等等元素[last] .Amount = element [0] .Amount。 我可以肯定地与环和夫妇在其声明中做到这一点,但没有任何办法让我可以在C#中使用LINQ做这个根据下一个更新当前元素的数据

回答

3

试试这个代码:

var list = new List<YourTypeHere>(); 

var fist = list.First().Amount; 
list = list.Select((x, i) => 
{ 
    x.Amount = list[(i + 1) % list.Count].Amount; 
    return x; 
}).ToList(); 
list.Last().Amount = fist; 
+0

1.你每次创建一个新列表2. LINQ整个事情是传递给操作符的lambdas不应该有副作用,因为正常延迟执行。这不是你应该用LINQ做的事情。 –

相关问题