C# Can';t写入参数为属性的类

C# Can';t写入参数为属性的类,c#,class,properties,params,C#,Class,Properties,Params,似乎我不能用params作为属性来编写类。 有没有办法为类设置params属性 对于方法,我可以这样做: public static void Method(double x,params double[] k) { } 我想要一个接受未知数量参数的类 类别: public class Class { double x; params double[] k; } 并创建新对象 var obj = new Class(1d, 1d, 1d, ...); // var obj

似乎我不能用params作为属性来编写类。 有没有办法为类设置params属性

对于方法,我可以这样做:

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

}
我想要一个接受未知数量参数的类

类别:

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!
有没有办法为类设置params属性

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

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;
    }
}
有没有办法为类设置params属性

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

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=新类(1d,新双[]{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);
var obj=新类(1d,新双[]{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);

@kazemAkhgary先生很乐意帮忙@kazemAkhgary先生很乐意帮忙!