2种通过设置属性值来创建新对象的方法

Sam*_*yan 20 .net c#

可能重复:
为什么C#3.0对象初始化器构造函数括号是可选的?

大家好,
我有Question一个有财产的班级Text

public class Question
{
    public string Text { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在我想通过赋予属性值来创建这种类型的对象.
我可以通过以下两种方式做到这一点:

Question q = new Question { Text = "Some question" };

Question q = new Question() { Text = "Some question" };

这两种情况有什么区别,如果它们是相同的,为什么我们需要两者?
谢谢.

Chr*_*isF 15

两个例子之间绝对没有区别.

在这种情况下,仅在这种情况下,()构造函数是可选的.