在 C# 中将双精度列表转换为整数列表

Convert list of double to list of integer in C#

此代码:

List<int> scrambledWatermark = ScrambledWatermark.ConvertAll<int>();

结果错误:

There is no argument given that corresponds to the required formal parameter 'converter' of List.ConvertAll(Converter)'

我这样做了:

List<int> scrambledWatermark = ScrambledWatermark.ConvertAll<int>(Converter<double,int>);

没用。如何简单地将双精度列表转换为整数列表?谢谢。

ConvertAll 需要一个函数作为参数,该函数将枚举的双精度值作为输入并能够将其转换为整数。它只是一个 Convert.ToInt32

List<int> scrambledWatermark = ScrambledWatermark.ConvertAll(Convert.ToInt32);
List<int> listOfIntegers = listOfDoubles.ConvertAll(x => (int)x);

顶部:

 using System.Linq;   

然后:

List<double> ScrambledWatermark = new List<double>();

List<int> ints = ScrambledWatermark.Select(a => (int)a).ToList();