C# 如何为IEnumerable<T>泛型集合内的T类型成员属性赋值
错误原因
IEnumerable<T>是仅定义集合遍历行为的接口,无法直接实例化赋值,你需要使用实现了该接口的具体集合类型(比如数组、List<T>等)来完成初始化。
正确写法示例
1. 用Cars数组初始化(最简单,不需要额外引用)
var searchInstance = new Search() { Cardetail = new Cars[] { new Cars { Id = "1", StatusCode = "你要的状态码值" }, // 可继续追加多个Cars对象 new Cars { Id = "2", StatusCode = "其他状态码" } } };
2. 用List初始化(适合后续需要修改集合的场景)
var searchInstance = new Search() { Cardetail = new List<Cars> { new Cars { Id = "1", StatusCode = "你要的状态码值" }, new Cars { Id = "2", StatusCode = "其他状态码" } } };
3. 单元素场景用Enumerable.Repeat(需要引用System.Linq)
如果只需要往集合里塞1个Cars对象,可以这么写:
using System.Linq; // 要先加这个命名空间引用 var searchInstance = new Search() { Cardetail = Enumerable.Repeat(new Cars { Id = "1", StatusCode = "你要的状态码值" }, 1) };
内容的提问来源于stack exchange,提问作者Annas。
相关产品推荐
相关产品推荐

