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在我看来是肮脏的。
发布于 2008-12-28 19:07:48
不太确定你在问什么,但是...
您可以为数组提供索引。
for (int i = 0; i < z.Length; i++)
{
Math.Log(z[i]);
}虽然我认为不保留计算的价值是没有意义的?
编辑
您可能必须使用double数据类型,因为这是math.log返回的数据类型
static void Process()
{
double[] test = { 1, 2, 3, 4 };
double[] answer = new double[test.Length];
for (int i = 0; i < test.Length; i++)
{
answer[i] = Math.Log(test[i]);
}
}https://stackoverflow.com/questions/396521
复制相似问题