试用过:
IList<IList<string>> matrix = new List<new List<string>()>();但是我不能,我怎么能做到呢?我需要一个字符串矩阵。
发布于 2012-02-06 18:11:44
您需要:
IList<IList<string>> matrix = new List<IList<string>>();但是,您可以总是为每个元素添加一个List<string>。
这样做行不通的原因是:
// Invalid
IList<IList<string>> matrix = new List<List<string>>();是这样写起来是合理的:
// string[] implements IList<string>
matrix.Add(new string[10]);..。但这将违背列表实际上是一个List<List<string>>的事实-它必须包含List<string>值,而不是任何IList<string>……而我在顶部的声明只创建了一个List<IList<string>>,因此您可以在不破坏类型安全性的情况下向其添加字符串数组。
当然,您也可以改为在声明中使用具体类型:
IList<List<string>> matrix = new List<List<string>>();或者甚至是:
List<List<string>> matrix = new List<List<string>>();发布于 2012-02-06 18:10:59
尝尝这个
IList<IList<string>> matrix = new List<IList<string>>();发布于 2012-02-06 18:12:33
这将会起作用--你不能像你尝试的那样初始化泛型类型参数:
IList<IList<string>> matrix = new List<IList<string>>();不过,内部IList<string>将是null。要初始化它,您可以执行以下操作:
matrix.Add(new List<string>());https://stackoverflow.com/questions/9158483
复制相似问题