2017-08-11 5 views
-3

私は10要素のリストを持っています。各要素にはフィールド量があります。 私がしたいのは、要素[0] .Amount = element [1] .Amountなどを要素[last] .Amount = element [0] .Amountで更新することです。 は、私は間違いなくループとその中の文のカップルのためにこれを行うことができますが、次の要素に応じて現在の要素のデータを更新します

答えて

3

はこのコード試してみてください、私は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; 
+0

1. 2.毎回新しいリストを作成します。2. LINQのすべてのことは、通常は遅延実行のために、演算子に渡されたラムダが副作用を持ってはならないということです。これはLINQで行うべきことではありません。 –

関連する問題