首页 > 解决方案 > 我该如何做用户输入时间 word.Add

问题描述

我想用单词创建一个列表,然后比较它们。首先,我需要将字符串添加到 List for wordsnumber 次。如果用户输入 wordsnumber = 5,我该怎么写?

 while (wordsnumber < 1 || wordsnumber > 20)
            {
                Console.WriteLine("*Leader Instructor: You must follow my instructions !");
                Console.Write("Your number: ");
                wordsnumber = Convert.ToInt32(Console.ReadLine());

            }
            if(wordsnumber >= 1 || wordsnumber < 20)
            {
                Console.WriteLine("*Leader Instructor: Awesome.");
            }
            List<string> words = new List<string>();

标签: c#arrayslist

解决方案


您可以使用正常for循环来要求用户输入wordsNumber单词数量。通常for循环的结构看起来像:

List<string> words = new List<string>();

for (int i = 0; i < wordsnumber; i++)
{
    Console.Write($"Enter word #{i + 1}: ");
    words.Add(Console.ReadLine());
}

其他几件事:您应该使用int.TryParse来尝试获取数字,这样程序在输入一些非数字文本时不会崩溃,并且您不需要if条件,因为while循环已经强制执行有效的数字范围。只是为了好玩,我还展示了如何将领导讲师的文字涂成红色,这样它会更加突出:

int wordsnumber;

Console.WriteLine("Enter the number of words (1 - 20): ");

while (!int.TryParse(Console.ReadLine(), out wordsnumber) ||
       wordsnumber < 0 || wordsnumber > 20)
{
    Console.ForegroundColor = ConsoleColor.Red;
    Console.WriteLine("*Leader Instructor: You must follow my instructions !");
    Console.ResetColor();
    Console.Write("Enter the number of words (1 - 20): ");
}

推荐阅读