int z = 1;
double result = Math.Log(z); //works
但是尝试用数字数组做同样的事情是行不通的:
int[] z = new [] {1,2,3,4};
double[] result = Math.Log(z); //Syntax 1 - error CS1503: Argument '1': cannot convert from 'int[]' to 'double'
double[] result = z.Select(p => Log(p)).ToArray(); //Syntax 2 - OK
如何使语法 #1 起作用?语法 #2 对我来说似乎很脏。
最佳答案
不,没有更干净的方法。 语法 2 使用 Select()
和 lambda 表达式将 Math.Log()
应用于每个元素是惯用的做法这在 C# 中。
关于c# - 是否有更清晰的语法来将操作应用于序列的每个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/396521/