3 回答
TA贡献1818条经验 获得超11个赞
你可以这样做:
var list = new[] { o, o1 }.ToList();
有很多方法可以为这只猫设置皮肤,但基本上它们都会在某处使用类型推断 - 这意味着你必须调用泛型方法(可能作为扩展方法)。另一个例子可能是:
public static List<T> CreateList<T>(params T[] elements)
{
return new List<T>(elements);
}
var list = CreateList(o, o1);
你明白了:)
TA贡献1806条经验 获得超8个赞
有很多方法可以做到这一点,但是这里的一些响应是创建一个包含垃圾元素的列表,这需要您清除列表。
如果要查找泛型类型的空列表,请使用“针对元组列表选择”来创建空列表。不会实例化任何元素。
这是创建空列表的单线程:
var emptyList = new List<Tuple<int, string>>()
.Select(t => new { Id = t.Item1, Name = t.Item2 }).ToList();
然后您可以使用您的泛型类型添加到它:
emptyList.Add(new { Id = 1, Name = "foo" });
emptyList.Add(new { Id = 2, Name = "bar" });
作为替代方案,您可以执行类似下面的操作来创建空列表(但是,我更喜欢第一个示例,因为您也可以将它用于填充的元组集合):
var emptyList = new List<object>()
.Select(t => new { Id = default(int), Name = default(string) }).ToList();
- 3 回答
- 0 关注
- 456 浏览
添加回答
举报