从控制台从数组读取用户输入

本文关键字:输入 用户 数组 控制台 读取 | 更新日期: 2023-09-27 18:36:59

嗨,我

正在使用Visual Studio 2010来学习一些C#,目前我正在控制台应用程序中做数组

创建了一个数组,它给出了我正在寻找的输出。 这是我用于数组的代码

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            var lottery_numbers = new[] { "1,", "2, ", "3", "4", "5", "6", "7", "8", "9", "10" };
            for (var i = 0; i < 10; i++)
            Console.WriteLine("{0}", lottery_numbers[i]);
            Console.Read();
        }
    }
}

我也知道,要让用户输入控制台,我需要一些类似于以下内容的代码:

        string numbLine;
        Console.WriteLine("display number lines: ");
        numbLine = Console.ReadLine();
        Console.WriteLine();

我无法弄清楚的是,我希望询问用户要输出多少行,然后它将显示数组中的该行数以供用户输入

例如,将询问用户

输出多少行用户会把 5然后,控制台将从数组中输出前 5 行

从控制台从数组读取用户输入

只需从用户那里获取数字并循环访问该数字即可。

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            var lottery_numbers = new[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" };
            //Asking for user input
            Console.WriteLine("How many number's you want to display?? ");
            // getting input from user
            int number = Convert.ToInt32(Console.ReadLine());
            // loop through the number user gave as input
            for (var i = 0; i < number; i++)
            {
                Console.WriteLine("{0}", lottery_numbers[i]);
            }
            Console.Read();
        }
    }
}

试试这个:

Console.WriteLine("how many lines for output: ");
var numbLine = Convert.ToInt32(Console.ReadLine());
for (var i = 0; i < numbLine; i++)
    Console.WriteLine("{0}", lottery_numbers[i]);

为了打印 X 行,您只需更改 for 循环的上限:

for (var i = 0; i < 10; i++)
    Console.WriteLine("{0}", lottery_numbers[i]);

成为

int howManyLinesToOutput = 5;
for (var i = 0; i < howManyLinesToOutput; i++)
    Console.WriteLine("{0}", lottery_numbers[i]);

目前为止,一切都好?

接下来,您必须弄清楚如何根据用户输入的内容设置如何ManyLinesToOutput。 Console.ReadLine() 似乎是我们想要的,但它返回一个字符串。 我们如何将字符串更改为整数? 我们解析它。

以下是解析 int 的一种方法:

string numbLine = Console.ReadLine();
int howManyLinesToOutput = int.Parse(numbLine);

这是另一种方式:

string numbLine = Console.ReadLine();
int howManyLinesToOutput = Convert.ToInt32(numbLine);

把以上放在一起,你的家庭作业应该很容易。


额外积分

如果用户不输入数字怎么办? 你会得到一个错误。 这里有一种方法可以解决它

int howManyLinesToOutput;
bool numberEnteredFlag = false;
while (!numberEnteredFlag)
{
    string numbLine = Console.ReadLine();
    numberEnteredFlag = int.TryParse(numbLine, out howManyLinesToOutput);
}

为了获得更多额外的信用,请修改上面的代码以处理用户输入负数的情况。