无法将 class 的参数写为 属性

Can't write class with params as property

看来我不能写一个 class 参数为 属性。 有没有办法为 class 设置参数 属性?

一个方法,我可以这样做:

public static void Method(double x,params double[] k)
{

}

我想要一个 class 接受未知数量的参数。

class:

public class Class
{
    double x;
    params double[] k;
}

并创建新对象

var obj = new Class(1d, 1d, 1d, ...); //
var obj = new Class(1d, new double[] { 1d, 1d, ...}); //this is not comfortable!

is there any way to set params property for class?

没有,也没有必要。您可以让 class 构造函数接受 params double[] doubles 并将它们存储在数组中:

void Main()
{
    var a = new A(1.0, 2.0, 3.0);
}

public class A
{
    private double[] doubles;
    public A(params double[] doubles)
    {
        this.doubles = doubles;
    }
}

var obj=new Class(1d,new double[]{1d,1d,...});

你需要带有 params 的构造函数来创建 obj 这样的

public class Class
{
    double x;
    double[] k;
    public Class(double _x, params double[] _k)
    {
       x=_x; k=_k;
    }
}

然后

var obj=new Class(1d,1d,1d);