public class myCollection<T> {
private T[] arr = new T[100];
public T this[int i] {
get { return arr[i]; }
set { arr[i] = value; }
}
}
在这个简单的示例中,字符串类型的 myCollection 的数组类型自动调整为 100 。 我的具体问题是,如果我只需要 10 或 25 的大小,如何保持灵活性,以便在需要的数量少于 100 甚至更多时不浪费内存。如何通过参数转义这个固定大小?
添加一个构造函数,让您提供所需的值:
public class myCollection<T> {
private T[] arr;
public T this[int i] {
get { return arr[i]; }
set { arr[i] = value; }
}
public myCollection(int size) {
arr = new T[size];
}
}
如果您仍然想要一个无参数构造函数,您可以链接一个在未指定值时仍默认为 100 的构造函数:
public class myCollection<T> {
private T[] arr;
public T this[int i] {
get { return arr[i]; }
set { arr[i] = value; }
}
public myCollection(int size) {
arr = new T[size];
}
public myCollection() : this(100) { }
}