【发布时间】:2017-03-04 00:27:48
【问题描述】:
我不确定我是否遗漏了什么,但以下代码不会产生我预期的输出,除非我将行 TheList.Clear(); 更改为 TheList = new List<int>();
List<List<int>> ListOfLists = new List<List<int>>();
List<int> TheList = new List<int>();
for (int i = 1; i <= 30; i++)
{
TheList.Add(i);
if (TheList.Count < 10)
Console.WriteLine(i.ToString() + " adicionado");
else
{
ListOfLists.Add(TheList);
TheList.Clear(); // THIS
}
}
string AllItems = "";
for (int i = 0; i < ListOfLists.Count; i++)
{
foreach (int j in ListOfLists[i])
AllItems += j.ToString() + ",";
AllItems += "/";
}
Console.WriteLine(AllItems);
当实例化一个新列表时,我得到
"1,2,3,4,5,6,7,8,9,10,/11,12,13,14,15,16,17,18,19,20,/21,22,23,24,25,26,27,28,29,30,/"
作为输出,但是当清除它时,输出是"///"。
为什么会这样?
【问题讨论】:
-
请说明您的要求。