拥有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.xxx(item = -item[2]).ToList();
答案 0 :(得分:3)
如果您通过索引避免访问,如果列表中的元素少于3个,则不会出现异常。
sqlResult = sqlResult.Select(x => x.Select((y, i) => i == 2 ? -y : y).ToArray()).ToList();
答案 1 :(得分:1)
var result = sqlResult.Select(x => new double[] { x[0], x[1], x[2] * -1}).ToList()
;
答案 2 :(得分:1)
试试这个
sqlResult.ForEach(y => y[2]= y[2] * -1);