C# 以Console.ReadLine()为例;输入并将其放入列表中<;Int32>;?
这里是我的一些截图。C#FrameworkConsole应用程序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;
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);