C# 是否可以在不创建引用的情况下更改新创建对象的多个属性?

C# 是否可以在不创建引用的情况下更改新创建对象的多个属性?,c#,instance,C#,Instance,我想知道是否有一种写作方法,例如: Thread th = new Thread(smth); th.IsBackground = true; th.Start(); 在一行中(也有更多属性) 你差点就成功了,你可以做到: var thread = new Thread(smth) { IsBackground = true }; 不需要。它们被称为对象初始值设定项,您可以了解更多 使用方法无法实现这一点,当然您还必须在此之外调用Start()。您只能在一行中初始化属性。您必须在另一

我想知道是否有一种写作方法,例如:

Thread th = new Thread(smth);
th.IsBackground = true;
th.Start();
在一行中(也有更多属性)


你差点就成功了,你可以做到:

var thread = new Thread(smth)
{
    IsBackground = true
};
不需要
。它们被称为对象初始值设定项,您可以了解更多


使用方法无法实现这一点,当然您还必须在此之外调用
Start()

您只能在一行中初始化属性。您必须在另一行中调用方法

Thread th = new Thread(smth){ IsBackground = true;};
th.Start();

你可以这样写:

new Thread(smth){IsBackground = true}.Start();

ObjectInitializer
中,分配属性,而不是其他任何内容。 必须在初始值设定项块之外调用Start方法

var th= new Thread(smth)
{
    IsBackground = true
};
th.Start();


是新线程(smth){IsBackground=true,}.Start();好吗?如果他们想保留对thread对象的引用,那是行不通的。否则,它肯定会的。请注意,“一行”并不是quality@TimSchmelter通常情况下,在可读性、可维护性、理智性方面,情况恰恰相反。。。
var th= new Thread(smth)
{
    IsBackground = true
};
th.Start();
new Thread(smth)
{
    IsBackground = true
}.Start();