【问题标题】:How to change a number in a list using System linq in C# [duplicate]如何在 C# 中使用 System linq 更改列表中的数字 [重复]
【发布时间】:2022-01-21 12:03:32
【问题描述】:

我有一个清单

   List < double > newlist = new List<double>{5.0,1.1,2.1,5.1,0.2,5.2,7.5}

使用 System.Linq 如何更改 5

【问题讨论】:

  • 改变现有列表不是你会使用 Linq 的事情 - 只需使用 for 循环。
  • 谢谢! @MatthewWatson 我明白了。我只是在寻找我想做的单行版本。正如其他人所指出的,LINQ 是用于查询数据,而不是用于更新。

标签: c# linq


【解决方案1】:

使用 linq 的方法 - 将现有的 List&lt;double&gt; 替换为新的

//[5.0,1.1,2.1,5.5,0.2,5.5,7.5]
newlist = newlist.Select(x => x > 5 && x < 6 ? 5.5d : x).ToList(); 

使用 for 循环的方法 - 只更改受影响的值

for (int i = 0; i < newlist.Count; i++)
{
    if (newlist[i] > 5 && newlist[i] < 6)
    {
        newlist[i] = 5.5d;
    }
}

【讨论】:

  • 如果 OP 想要创建一个新列表,那很好,但它实际上并没有更改列表中的数字(问题似乎是要求改变现有列表)。
  • @MatthewWatson 好点 - 我添加了一个经典的 for 循环
猜你喜欢
  • 2017-04-04
  • 1970-01-01
  • 2011-07-30
  • 1970-01-01
  • 1970-01-01
  • 2016-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多