Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以Console.ReadLine()为例;输入并将其放入列表中<;Int32>;?_C# - Fatal编程技术网

C# 以Console.ReadLine()为例;输入并将其放入列表中<;Int32>;?

C# 以Console.ReadLine()为例;输入并将其放入列表中<;Int32>;?,c#,C#,这里是我的一些截图。C#FrameworkConsole应用程序 namespace Arraylab { class Program { static void Main(string[] args) { Console.WriteLine("Please guess a number, zero if you must."); int guessedNumber = 1;

这里是我的一些截图。C#FrameworkConsole应用程序

namespace Arraylab
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Please guess a number, zero if you must.");
            int guessedNumber = 1;

            try
            {
                guessedNumber = Convert.ToInt32(Console.ReadLine());
            }
            catch (Exception)
            {
                Console.WriteLine("You did not make the right entry. Please hit Enter and try again.");
                Console.ReadLine();
                Environment.Exit(0);
            }
            //This will end the program if its not a number that is entered. 

            List<Int32> guessedNumbers = new List<int>;


            guessedNumbers.AddRange(guessedNumber); //It wont accept this guessedNumber varriable.
        }
    }
}
namespace Arraylab
{
班级计划
{
静态void Main(字符串[]参数)
{
WriteLine(“请猜一个数字,如果必须的话,请猜零”);
int猜测数=1;
尝试
{
guessedNumber=Convert.ToInt32(Console.ReadLine());
}
捕获(例外)
{
Console.WriteLine(“您输入的内容不正确。请按Enter并重试。”);
Console.ReadLine();
环境。退出(0);
}
//如果输入的不是数字,则程序将结束。
列表猜测数=新列表;
guessedNumbers.AddRange(guessedNumber);//它不接受此guessedNumbers变量。
}
}
}

使用add而不是addrange。这将接受一个int


编辑:这怎么不是一个正确的答案

首先:与其使用
ConvertTo.Int32
捕获异常,更好的做法是使用
int.TryParse
,如果无法解析字符串,则返回false。然后,您可以取消
尝试
。记住,避免异常总是比捕获异常好

第二,如果你打算使用异常处理,“口袋妖怪处理”——必须抓住它们的全部——当你知道你期望的异常是什么时,这是一个糟糕的做法。捕获特定的异常

它不会接受这个猜测的数字变量


AddRange
向列表中添加元素序列,而不是单个元素。使用
Add
将单个元素添加到列表的末尾。

使用Add而不是AddRange将单个条目添加到列表我在类的顶部声明了guessedNumber变量。但是列表不会接受变量作为存储在列表中的变量。好的。我试试看。谢谢你。@RufusL:真奇怪。我不知道,也没有时间深入研究,但我在帖子的答案上留下了一个有根据的猜测。
guessedNumbers.AddRange(guessedNumber);