私は以下のようなことをしたい:
total.ForEach(x => x = Math.Abs(x));
ただし、x は参考値ではありません。どうすればそれを行うことができますか?
編集:
別のリストを作成せず、for ループを使用せずに、その場でこれを行うことは可能ですか?
Linq を使用できます。
total.Select(x => Math.Abs(x)).ToList();
これにより、 の絶対値の新しいリストが得られますtotal
。その場で修正したい場合
for(int i = 0; i < total.Count; i++)
{
total[i] = Math.Abs(total[i]);
}
私が正しく理解している場合は、絶対値のリストが必要です。次のようなものを試してください
List<long> a = new List<long>() { 10, -30, 40 }; //original list
List<long> b = a.ConvertAll<long>(x => Math.Abs(x)); //abs list