我正在寻找与List<T>
类似的内容,这样我就可以拥有多个T
。例如:List<TabItem, DataGrid, int, string, ...> = new List<TabItem, DataGrid, int, string, ...>()
。
答案 0 :(得分:14)
如果您使用的是.NET 4,则可以使用List<Tuple<T1, T2, ...>>
否则,您的选择是实现自己的类型。
答案 1 :(得分:7)
创建一个定义数据结构的类,然后执行
var list = new List<MyClass>();
答案 2 :(得分:1)
通常情况下,您只有List<MyClass>
MyClass
将所有其他成员作为成员。
答案 3 :(得分:1)
如果它可以有任何旧类型,那么你需要使用ArrayList。
如果你提前知道你在那里会有什么,那么你应该创建自己的结构,或者使用元组。
答案 4 :(得分:-1)
看起来你在List<object>
之后?
答案 5 :(得分:-1)
如果您使用的是.net 4.0,则最好使用元组。但是如果你工作在3.5或更低,多维对象数组是好的。这是代码。我在对象数组中添加了3种不同的类型,并将其推送到列表中。可能不是您的问题的最佳解决方案,可以使用对象数组和列表实现。看看代码。
class Program
{
static void Main(string[] args)
{
object[,] OneObject = new object[1,3]{ {"C Sharp",4,3.5 }};
List<object> MyList = new List<object>();
MyList.Add(OneObject);
object[,] addObject = new object[1,3]{{"Java",1,1.1}};
MyList.Add(addObject);
foreach(object SingleObject in MyList)
{
object[,] MyObject = (object[,])SingleObject;
Console.WriteLine("{0},{1},{2}", MyObject[0, 0], MyObject[0, 1], MyObject[0, 2]);
}
Console.Read();
}
}
答案 6 :(得分:-1)
您可以在此处为旧版本功能提供机会,而不是尝试使用C#4。
这里似乎你不需要强类型集合,在这种情况下,ArrayList是最好的选择。