0

我是 C# 新手,我正在尝试将此代码从 java 转换为 C#。

    static public double euclidean_2(double[] x, double[] y)
    {
        if (x.length != y.length) throw new RuntimeException("Arguments must have same number of dimensions.");

        double cumssq = 0.0;
        for (int i = 0; i < x.length; i++)
            cumssq += (x[i] - y[i]) * (x[i] - y[i]);

        return cumssq;
    }

我知道 java 使用 .length 但 C# 中的等价物是什么,因为我不断收到错误

谢谢

4

3 回答 3

3

在 C# 中,公共成员应大写:

for (int i = 0; i < x.Length; i++)
    cumssq += (x[i] - y[i]) * (x[i] - y[i]);
于 2012-06-06T22:33:00.823 回答
0

对于数组,您需要该Length属性。

异常类型也应该改变。

我认为这涵盖了它。

于 2012-06-06T22:34:08.347 回答
0

length应该是,Length因为公共成员应该大写,所以你在 C# 中的代码应该是这样的:

public static double euclidean_2(double[] x, double[] y){
    if (x.Length != y.Length){
        throw new Exception("Arguments must have same number of dimensions.");
    }
    double cumssq = 0.0;
    for (int i = 0; i < x.Length; i++){
        cumssq += (x[i] - y[i]) * (x[i] - y[i]);
    }
    return cumssq;
}

还要记下关键字Exception而不是Runtime Exception

于 2012-06-06T22:37:18.070 回答