如何在一行中初始化对象?

时间:2017-10-17 09:31:33

标签: c# .net

我必须为单元测试声明一个列表:

public void DataCleanTest1()
{
    List<MesureSerialized> data = new List<MesureSerialized>
    {
        { new MesureSerialized() },
        { new MesureSerialized() }
    };
}

我想初始化我的对象并将它们填入一行,而不必手动设置对象的每个字段。

我不知道用于此操作的术语,因此我的研究没有成功。

2 个答案:

答案 0 :(得分:5)

也许我不明白这个问题,你想做的事:

public void DataCleanTest1()
{
    List<MesureSerialized> data = new List<MesureSerialized>
    {
        new MesureSerialized { myProperty = "value", otherPrperty = "value" },
        new MesureSerialized { myProperty = "value", otherPrperty = "value" }
    };
}

答案 1 :(得分:3)

您可以使用所谓的Object Initializer

Long

另请注意,您不需要在列表中的对象周围使用花括号。

这同样有效:

public void DataCleanTest1()
{
    List<MesureSerialized> data = new List<MesureSerialized>
    {
        {
            new MesureSerialized
            {
                Prop1 = "value",
                Prop2 = 42
            }
        },
        { new MesureSerialized() }
    };
}