C#在列表中添加元素到列表(二维列表)
C# adding elements to list in the list (two dimensional list)
我有一个列表:
List <List <string>> aList = new List <List <string>> ();
我想像这样向列表中的列表中添加一些内容:
aList [0].Add ("item");
但是我得到 ArgumentOutOfRangeException
,为什么?
添加列表到列表效果完美:
List <string> testList = new List <string> ();
testList.Add ("item");
aList.Add (testList);
没有任何错误。
我做错了什么?
添加索引的第一个语句假定列表的大小>=1,但事实并非如此。只是初始化不会创建大小列表。
好的,我找到了解决我自己问题的方法!
我必须先将任何列表添加到我自己的列表中,因为它是空的,所以我无法访问不存在的列表。
List <string> testList = new List <string> ();
aList.Add (testList);
aList [0].Add ("item");
没有任何错误。
aList [0].Add ("value");
这失败了,因为在位置 0 没有要添加您的值的列表。
尝试
aList [0] = new List<string>;
aList [0].Add ("value");
public class Row
{
public List<string> Elements { get; private set; }
public Row()
{
Elements = new List<string>();
}
public Row(List<string> elements)
{
Elements = elements;
}
}
使用:
List<Row> rows = new List<Row>();
rows.Add(new Row( new List<string>(){"abc","abc","abc"}));
rows.Add(new Row(new List<string>() { "xyz", "xyz", "xyz" }));
或
Row row = new Row();
row.Elements.Add("abc");
row.Elements.Add("xyz");
rows.Add(row);
您不能将元素添加到未声明的列表中
我有一个列表:
List <List <string>> aList = new List <List <string>> ();
我想像这样向列表中的列表中添加一些内容:
aList [0].Add ("item");
但是我得到 ArgumentOutOfRangeException
,为什么?
添加列表到列表效果完美:
List <string> testList = new List <string> ();
testList.Add ("item");
aList.Add (testList);
没有任何错误。 我做错了什么?
添加索引的第一个语句假定列表的大小>=1,但事实并非如此。只是初始化不会创建大小列表。
好的,我找到了解决我自己问题的方法! 我必须先将任何列表添加到我自己的列表中,因为它是空的,所以我无法访问不存在的列表。
List <string> testList = new List <string> ();
aList.Add (testList);
aList [0].Add ("item");
没有任何错误。
aList [0].Add ("value");
这失败了,因为在位置 0 没有要添加您的值的列表。
尝试
aList [0] = new List<string>;
aList [0].Add ("value");
public class Row
{
public List<string> Elements { get; private set; }
public Row()
{
Elements = new List<string>();
}
public Row(List<string> elements)
{
Elements = elements;
}
}
使用:
List<Row> rows = new List<Row>();
rows.Add(new Row( new List<string>(){"abc","abc","abc"}));
rows.Add(new Row(new List<string>() { "xyz", "xyz", "xyz" }));
或
Row row = new Row();
row.Elements.Add("abc");
row.Elements.Add("xyz");
rows.Add(row);
您不能将元素添加到未声明的列表中