如何创建这种类:
List<string> example = new List<string>();
答案 0 :(得分:2)
您可以创建类型为T的泛型类。当您从类中实例化该对象时,您可以在其中指定T将采用的类型。
这是page on MSDN describing generic classes。
一个例子:
public class MyClass<T>
{
private List<T> MyList;
public MyClass(List<T> list)
{
this.MyList = list;
}
public T this[int i]
{
get
{
return MyList[i];
}
set
{
MyList[i] = value;
}
}
}
有关此[]的更多信息,请查看Indexers on MSDN。这些允许您使用带方括号表示法的类,就像使用数组一样。
当您使用该类时,您可以在此决定T的类型。请参阅以下内容:
MyClass<string> myStrings = new MyClass<string>(new List<string> { "hello" });
myStrings[0] = "change the 0th element";
Console.WriteLine(String.Format("Element 0 is {0}", myStrings[0]));
要使其多维,以下是如何更改它的示例:
private List<List<T>> MyList;
public T this[int a, int b]
{
get { return MyList[a][b]; }
set { MyList[a][b] = value; }
}
然后你可以像这样使用accessor / mutator:
myObject[1,3] = "a new string at row 1, column 3";
Console.WriteLine(myObject[0,4]);