我在数组
中创建一组列表时遇到问题这是我的编码,但这是错误的,对此有任何更正吗?
List<string>[] item = new List<string>[10]();
我想在名为item的字符串中创建10个列表,但我不能这样做
然后如何在10个项目列表中存储多个元素?
item[1].add(a); //when I want to print that a I use item[1][0]
item[1].add(b); //when I want to print that b I use item[1][1]
item[2].add(aa);
item[2].add(bb);
但是如何在每个列表中存储元素?
答案 0 :(得分:1)
如果你确定你想要十个列表,你可以使用一个实例化为10个项目的数组,每个项目都是一个字符串列表。
List<string> [] items = new List<string> [10];
每个List都没有初始化,所以你需要初始化你的列表才能使用它,并且可以通过普通的索引器语法访问每个列表。
if (items[0] == null)
items[0] = new List<string>();
初始化后,您可以填写数据。
items[0].Add("another string");
如果您想预先初始化每个列表以便不会出现NullReferenceException,请在循环中执行此操作。
for (var i = 0; i < items.Length; i++)
items[i] = new List<string>();
但是,如果您认为您的商品可能需要保留更多List<string>
,那么只需使用列表清单即可。
List<List<string>> items = new List<List<string>>();
List包装数组并为您提供一些很好的语法糖和优化扩展数组,使您的生活更轻松。您仍然可以使用索引器语法来访问列表中的每个列表。
if (items[0] == null)
items[0] = new List<string>();
items[0].Add("another string").
答案 1 :(得分:1)
根据您的意见
&#34;我想要10个具有动态空间&#34;
的separete列表
您可以按如下方式定义您的收藏。
List<string> [] collection= new List<string> [10];
for(int i=0; i<10; i++)
collection[i] = new List<string>();
或者,如果您不关心阵列的大小,那么您可以使用它。
List<List<string>> collection = new List<List<string>>();