【发布时间】:2020-11-06 19:46:02
【问题描述】:
我使用此代码的目标是将用户输入的价格数据存储在一个 do-while 循环中,以便我可以将其用于计算送货地址。我决定采用一种方法,允许数组随着输入的每条数据而增加。数组的大小确实会增加,但输入的数据会随着每个循环而被删除。另外,我必须使用 do-while 循环
{
int itemList = 0;
string userAnswer;
//This section of the code is to have the user input their data for the later calculations
//The do-while loop is used to count how many items the user has inputted, as well as storing the prices for the later calculations
Console.WriteLine("Enter the price of your item:");
do
{
itemList++;
double[] List = new double[itemList];
for (int i = 0; i < itemList; i++)
{
List[i] = Convert.ToDouble(Console.ReadLine());
}
for (int i = 0; i < itemList; i++)
{
Console.Write(List[i] + " ");
}
Console.WriteLine("Do you wish to enter more item prices? Yes or No");
userAnswer = Console.ReadLine();
if (userAnswer == "No")
{
break;
}
}
while (userAnswer == "Yes");```
【问题讨论】:
-
double[] List = new double[itemList];每次创建一个新列表。 How to extend arrays in C# -
每次迭代都会创建一个新数组。如果您想这样做,您需要resize 现有数组。见重复。更好的是,使用
List<T>,在循环之前分配一次。另见重复。
标签: c# arrays user-input do-while