如何将List通过一个标量

本文关键字:标量 一个 List double | 更新日期: 2023-09-27 18:09:16

拥有一个具有数据的List<double[]>

List<double[]> sqlResult = new List<double[]>();
sqlResult.Add(new double[] { 11, 21, 31 });
sqlResult.Add(new double[] { 12, 22, 32 });
sqlResult.Add(new double[] { 13, 23, 33 });
sqlResult.Add(new double[] { 14, 24, 34 });

如何将每行的第三个元素乘以-1,从而得到

{ 11, 21, -31 }
{ 12, 22, -32 }
{ 13, 23, -33 }
{ 14, 24, -34 }

不知道如何用LINQ做

sqlResult= sqlResult.Select(item  =>  -item[2]).ToList();     

如何将List<double[]>通过一个标量

如果您避免通过索引访问,那么如果列表中的元素少于3个,您将不会得到异常。

sqlResult = sqlResult.Select(x => x.Select((y, i) => i == 2 ? -y : y).ToArray()).ToList();

var result = sqlResult.Select(x => new double[] { x[0], x[1], x[2] * -1}).ToList();

试试这个

sqlResult.ForEach(y => y[2]= y[2] * -1);