我一直在尝试制作一个销售计划,向客户询问他将购买的商品数量。例如,如果他输入"5"
,下一个窗口将询问他5个问题。我的问题是,我需要使用数组,所以有什么方法可以改变
string[] arrmerch = new string[6];
新字符串中的数字是“6”,用户输入了什么?这是循环。项目选择是问题。
for (int i = 0; i <= arrmerch.Length; i++)
{
Console.Write("Item choice: ");
arrmerch[i] = Console.ReadLine();
答案 0 :(得分:7)
当然,只需这样做:
int userInput = Convert.ToInt32(Console.ReadLine());
string[] arrmerch = new string[userInput];
您需要添加输入检查以确保您拥有的是整数而不是其他内容。
以下是输入检查的示例:
int arraySize = 0;
if(Int32.TryParse(Console.ReadLine(), out arraySize))
{
string[] arrmerch = new string[arraySize];
//the rest of your code
//...
//.
}
else
{
//The user entered a value which cannot be parsed to an int
}
答案 1 :(得分:0)
更改 string [] arrmerch = new string [6];
到
string[] arrmerch = new string[Convert.ToInt32(Console.ReadLine())];
将用户输入并创建该大小的数组。
答案 2 :(得分:0)
怎么样:
int numberOfQuestions = Convert.ToInt32(Console.Readline());
string[] arrmerch = new string[numberOfQuestions];
for (int i = 0; i <= arrmerch.Length; i++)
{
Console.Write("Item choice: ");
arrmerch[i] = Console.ReadLine();
但是需要进行错误检查。
答案 3 :(得分:0)
此外,您可以使用Generic Lists
。如果您希望将来更改阵列长度,它们会更灵活
int count = Convert.ToInt32(Console.ReadLine());
var list = new List<string>();
for (int i = 0; i <= count; i++)
{
Console.Write("Item choice: ");
list.Add(Console.ReadLine());
}