对象初始值设定项不在List <t> </t>中工作

时间:2010-04-19 12:45:53

标签: c# visual-studio-2005 c#-2.0

        List<Car> oUpdateCar = new List<Car>();

        oUpdateCar.Add(new Car());
        oUpdateCar[0].name = "Color";
        oUpdateCar[0].value = "red";

        oUpdateCar.Add(new Car());
        oUpdateCar[1].name = "Speed";
        oUpdateCar[1].value = "200";

上面的代码正在运行,但我想在创建如下列表时初始化它,

List<Car> oUpdateCar = new List<Car>
    {

        new Car{
        name = "Color";
        value = "red";}

    new Car{
        name = "Speed";
        value = "200";}
    }

以上代码无效。我错过了什么。我使用的是c#.NET 2.0。请帮忙。

2 个答案:

答案 0 :(得分:6)

集合和对象初始值设定项是C#3.0的新增功能;它们不能在Visual Studio 2005中使用。

此外,即使在C#3中,这也是无效的语法;您需要在对象初始值设定项中用逗号(;)替换分号(,),并在集合初始值设定项中的每个对象之间添加逗号。

答案 1 :(得分:6)

集合初始值设定项是C#3.0的一部分,语法如下:

List<Car> oUpdateCar = new List<Car>
{
    new Car
    {
        name = "Color",
        value = "red"
    },

    new Car
    {
        name = "Speed",
        value = "200"
    }
};