C#用户输入到列表中的数组
前提:在列表中嵌入数组。用户输入到列表中的数组,在数组中循环3个字符串,选择再次循环以在循环中创建另一个数组。打印列表和数组,并在中使用。 发生的情况/问题:当选择创建另一个循环“array”时,第二个循环“array”会覆盖第一个循环“array”的值。若第一个数组的值为a、b、c,第二个循环/数组的值为d、s、g。当我打印它时,第二个数组已经覆盖了第一个数组。打印第一个数组:d,s,g第二个数组d,s,g 如何在列表中创建用户想要的新数组的次数C#用户输入到列表中的数组,c#,arrays,list,user-input,C#,Arrays,List,User Input,前提:在列表中嵌入数组。用户输入到列表中的数组,在数组中循环3个字符串,选择再次循环以在循环中创建另一个数组。打印列表和数组,并在中使用。 发生的情况/问题:当选择创建另一个循环“array”时,第二个循环“array”会覆盖第一个循环“array”的值。若第一个数组的值为a、b、c,第二个循环/数组的值为d、s、g。当我打印它时,第二个数组已经覆盖了第一个数组。打印第一个数组:d,s,g第二个数组d,s,g 如何在列表中创建用户想要的新数组的次数 List<string[]> Lo
List<string[]> Loggbok = new List<string[]>();
string[] input = new string[3] ;
bool tr = true;
while (tr)
{
Console.WriteLine("Gör en ny Logg inlägg");
for (int i = 0; i < 3; i++)
{
string Object = Console.ReadLine();
input[i] = Object;
}
Loggbok.Add(input);
Console.Write("Make a nother array press: j if not inputn : ");
string val = Console.ReadLine();
if (val == "j")
{
tr = true;
}
else
{
tr = false;
}
}
Console.WriteLine(Loggbok[0][0]); //print first array in list
Console.WriteLine(Loggbok[0][1]);
Console.WriteLine(Loggbok[0][2]);
Console.WriteLine(Loggbok[1][0]); //print second array in list
Console.WriteLine(Loggbok[1][1]);
Console.WriteLine(Loggbok[1][2]);
Console.ReadLine();
List Loggbok=new List();
字符串[]输入=新字符串[3];
bool tr=真;
while(tr)
{
Console.WriteLine(“Gör en ny Logg inlägg”);
对于(int i=0;i<3;i++)
{
string Object=Console.ReadLine();
输入[i]=对象;
}
Loggbok.Add(输入);
编写(“生成另一个数组,如果没有输入,则按:j:”);
字符串val=Console.ReadLine();
如果(val=“j”)
{
tr=真;
}
其他的
{
tr=假;
}
}
Console.WriteLine(Loggbok[0][0])//打印列表中的第一个数组
Console.WriteLine(Loggbok[0][1]);
Console.WriteLine(Loggbok[0][2]);
Console.WriteLine(Loggbok[1][0])//打印列表中的第二个数组
Console.WriteLine(Loggbok[1][1]);
Console.WriteLine(Loggbok[1][2]);
Console.ReadLine();
将字符串数组的声明移动到while循环中,以便创建新数组。现在您继续使用相同的数组。因此,在while循环中的每次迭代中,新结果都会覆盖以前的结果,这就是为什么最终会得到上一次迭代的值
//string[] input = new string[3]; <- removed here
while (tr)
{
Console.WriteLine("Gör en ny Logg inlägg");
string[] input = new string[3]; //<- added here
//....
}
//字符串[]输入=新字符串[3] 放这条线
string[] input = new string[3] ;
进入while循环。这对我有用。我不明白你的问题。代码是否与数组和列表有关?你能更清楚地指出你想要达到的目标吗?顺便说一句,我建议不要使用对象作为字符串的名称,因为对象是类对象的保留名称。这可能会引起很多问题。我写的有点复杂。但在我发布问题一分钟后,我才想出了解决办法。数组声明应该在for循环中。然后我需要在列表中创建数组。根据用户需要创建任意多个阵列。然后打印包含所有数组的列表。格式不是很好,所以我没有看到列表部分。请参阅下面的答案之一。谢谢!感谢您的帮助,您可以在两个答案中的一个上投票并标记为解决方案。有人知道如何打印整个列表和数组吗?'foreach(Loggbok中的var数组){foreach(数组中的var arrayItem){Console.WriteLine(arrayItem);}