如何将值传递给没有调用任何构造函数的实例

时间:2017-06-30 21:56:19

标签: c# struct constructor instance

我知道创建一个使用构造函数而没有para的实例与创建不使用构造函数的实例之间存在差异。我打电话给我的实例是这样的:

Animal cat; //Animal is a struc

现在,如果我尝试传递两个这样的值,我会收到一个错误:

//cat(1,2);

如果我创建使用构造函数的实例,我就没有这个问题。我该怎么办?

2 个答案:

答案 0 :(得分:1)

如果Animal是你所说的结构,你只能在定义变量时传递值,如

Animal cat=new Animal(1,2)

如果您在未传入值的情况下定义了它,则只能执行

cat.x=1
cat.y=2

答案 1 :(得分:0)

也许你的意图是object initializer或对象初始化表达式:

public void Foo()
{
    Animal cat = new Animal() { AnimalType = "cat", Sound = "myauuuuuu" };
}


struct Animal
{
    public string AnimalType;
    public string Sound;
}

有些事件是对象初始化器提供了一种非常方便和可读的方法来创建对象。