-3
我有一个包含10个元素的列表。每个元素都有一个字段数量。 我想要做的是更新元素[0] .Amount = element [1] .Amount等等元素[last] .Amount = element [0] .Amount。 我可以肯定地与环和夫妇在其声明中做到这一点,但没有任何办法让我可以在C#中使用LINQ做这个根据下一个更新当前元素的数据
我有一个包含10个元素的列表。每个元素都有一个字段数量。 我想要做的是更新元素[0] .Amount = element [1] .Amount等等元素[last] .Amount = element [0] .Amount。 我可以肯定地与环和夫妇在其声明中做到这一点,但没有任何办法让我可以在C#中使用LINQ做这个根据下一个更新当前元素的数据
试试这个代码:
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;
1.你每次创建一个新列表2. LINQ整个事情是传递给操作符的lambdas不应该有副作用,因为正常延迟执行。这不是你应该用LINQ做的事情。 –