无法将 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);
看来我不能写一个 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);