C# 动态大小的阵列

C# 动态大小的阵列,c#,arrays,console-application,C#,Arrays,Console Application,我一直在尝试制定一个销售计划,向客户询问他将购买的商品数量。例如,如果他输入“5”,下一个窗口将询问他5个问题。我的问题是,我需要使用数组,所以有什么方法可以更改吗 string[] arrmerch = new string[6]; 新字符串中的数字是“6”,用户输入了什么?这是循环。项目选择是个问题 for (int i = 0; i <= arrmerch.Length; i++) { Console.Write("Item choice: "); arrmerch

我一直在尝试制定一个销售计划,向客户询问他将购买的商品数量。例如,如果他输入
“5”
,下一个窗口将询问他5个问题。我的问题是,我需要使用数组,所以有什么方法可以更改吗

string[] arrmerch = new string[6];
新字符串中的数字是“6”,用户输入了什么?这是循环。项目选择是个问题

for (int i = 0; i <= arrmerch.Length; i++)
{
    Console.Write("Item choice: ");
    arrmerch[i] = Console.ReadLine();

对于(int i=0;i当然,只需执行以下操作:

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
}
改变 字符串[]arrmerch=新字符串[6]

它将接受用户的输入并创建该大小的数组。

如何:

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();
int numberOfQuestions=Convert.ToInt32(Console.Readline());
string[]arrmerch=新字符串[numberOfQuestions];

对于(int i=0;i您也可以使用
通用列表
。如果您将来想更改数组长度,它们更灵活

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());
}
int count=Convert.ToInt32(Console.ReadLine());
var list=新列表();

对于(int i=0;我用一个变量替换
6
,该变量包含您向用户请求的数字…?如果您仍然需要将该输入转换为数字,请查看
int.TryParse
。使用数组有什么具体原因吗?如果使用列表,您可以更快地完成相同的任务。@abhi因为数组是这方面的要求项目。不客气。如果这有帮助,你应该。
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());
}