mar*_*zzz 5 c# arrays initialization list matrix
试过:
IList<IList<string>> matrix = new List<new List<string>()>();
Run Code Online (Sandbox Code Playgroud)
但我不能.我该怎么做?我需要一个字符串矩阵......
Jon*_*eet 13
你需要:
IList<IList<string>> matrix = new List<IList<string>>();
Run Code Online (Sandbox Code Playgroud)
但你可以发生总是添加List<string>的每个元素.
这不起作用的原因:
// Invalid
IList<IList<string>> matrix = new List<List<string>>();
Run Code Online (Sandbox Code Playgroud)
这样写起来是合理的:
// string[] implements IList<string>
matrix.Add(new string[10]);
Run Code Online (Sandbox Code Playgroud)
...但这会违反这个事实,即列表实际上是List<List<string>>- 它必须包含List<string>值,而不仅仅是任何 IList<string> ...而我在顶部的声明只是创建一个List<IList<string>>,所以你可以添加一个字符串数组而不会破坏类型安全.
当然,您可以更改为在声明中使用具体类型:
IList<List<string>> matrix = new List<List<string>>();
Run Code Online (Sandbox Code Playgroud)
甚至:
List<List<string>> matrix = new List<List<string>>();
Run Code Online (Sandbox Code Playgroud)