c# - 如何获取列表中所有元素的绝对值?

标签 c# lambda

我想做如下的事情:

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]);
}

关于c# - 如何获取列表中所有元素的绝对值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13325838/

相关文章:

c# - 如何使用反射确定属性类型?

C++11:用于调用类型的默认构造函数的可变参数 lambda 模板

java - Java 8 中的组合谓词

c# - 在嵌入式资源上强制 Visual Studio 重建已更改

java - Java 8 中的 Lambda 表达式

c++ - Lambda函数,段错误预防

c# - 正在使用 "out"错误做法

c# - C# 中的非托管 C++ 类

c# - 附加属性回调不适用于 wpf VS2012 中的默认值

c# - 更改组合框中某些行的背景颜色