对象初始化器在 List<T> 中不起作用
Posted
技术标签:
【中文标题】对象初始化器在 List<T> 中不起作用【英文标题】:Object initializers not working in List<T> 【发布时间】:2010-04-19 12:45:52 【问题描述】: 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。请帮忙。
【问题讨论】:
【参考方案1】:集合和对象初始值设定项是 C# 3.0 的新内容;它们不能在 Visual Studio 2005 中使用。
此外,即使在 C# 3 中,这也是无效的语法;您需要将对象初始化器中的分号 (;
) 替换为逗号 (,
),并在集合初始化器中的每个对象之间添加逗号。
【讨论】:
c# 2.0 有什么替代方案吗?【参考方案2】:集合初始化器是 C# 3.0 的一部分,语法如下:
List<Car> oUpdateCar = new List<Car>
new Car
name = "Color",
value = "red"
,
new Car
name = "Speed",
value = "200"
;
【讨论】:
在使用 c# 2.0 时有什么方法可以做到这一点,或者是否可以在 vs 2005 中使用 c# 3.0? @Jebli,不,没有。 C# 2.0 编译器不理解集合初始值设定项。 @Nick,根据你的建议修改了我的帖子。以上是关于对象初始化器在 List<T> 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 jQuery :not() 选择器在 CSS 中不起作用?