不同类型的二维列表

时间:2013-07-05 22:57:05

标签: c#

我想知道是否可以创建不同类型的二维List。换句话说,我想知道这样的事情是否可行:

List<T, U> list = new List<T, U>();

其中TU是两种不同的类型。

是否可以在不诉诸structclass es的情况下实现这一目标?

4 个答案:

答案 0 :(得分:4)

听起来像你正在寻找的是Dictionary<T,V>

var dictionary = new Dictionary<int, string>();
dictionary[3] = "three";
dictionary[7] = "seven";
foreach(var keyValuePair in dictionary)
{
    Console.WriteLine("{0}: {1}", keyValuePair.Key, keyValuePair.Value);
}
// 3: three
// 7: seven

答案 1 :(得分:3)

你可以这样做,但我不确定这是否是你需要的:

List<Tuple<int, string>> list = new List<Tuple<int, string>>();
list.Add(Tuple.Create<int, string>(2, "two"));

答案 2 :(得分:3)

您可以使用Dictionary<T, U>

var list = new Dictionary<T, U>();

TU类型是您想要的类型。

答案 3 :(得分:0)

第一种方法:继承。但你可以去创建一个List<Object>。对象并不关心你扔在那里。但是将其限制为两个类,不,这是不可能的。