如何在 C# 中输入
本文关键字:输入 | 更新日期: 2023-09-27 18:36:36
如何在C#中输入?并在该输入上使用循环。
这是我到目前为止尝试的代码
static void Main(string[] args)
{
int[] ar = new int[10002];
int n = Convert.ToInt32( Console.ReadLine() );
for( int i = 0;i < n; i++ )
{
ar[i] = Convert.ToInt32( Console.ReadLine() );
}
for ( int i = 0; i < n; i++ )
{
Console.WriteLine(ar[i]);
}
Console.ReadKey();
}
下面是处理您情况下无效输入的两种方法的简单示例。您可以做的一件事就是无法向用户提供输入不正确的信息。第二种可能性是将无效输入视为null
值。
这只是一个简单的例子 - 通常你不应该静默失败(这里:返回一个null
而不是抱怨),你不应该使用null
值作为特殊函数返回值的指标。另一个很好的例子是不要完成程序,而是使用循环反复询问用户,直到他们了解数字的外观;)
所有这些问题都没有解决,作为读者的实践;)
static int? ReadInteger()
{
int result;
if (!int.TryParse(Console.ReadLine(), out result))
{
return null;
}
return result;
}
static void Main(string[] args)
{
int?[] ar = new int?[10002];
int? n = ReadInteger();
if (!n.HasValue)
{
Console.WriteLine("Please input a correct integer");
return;
}
for( int i = 0;i < n.Value; i++ )
{
ar[i] = ReadInteger();
}
for ( int i = 0; i < n.Value; i++ )
{
Console.WriteLine(ar[i].HasValue
? ar[i].Value.ToString() : "Incorrect input");
}
Console.ReadKey();
}
我试图尽可能接近您的实现构建它。BartoszKP的另一个答案应该在完整的场景中使用。
static void Main(string[] args)
{
int[] ar = new int[10002];
int n;
if (int.TryParse(Console.ReadLine(), out n))
{
int nr;
for (int i = 0; i < n; i++)
{
if (int.TryParse(Console.ReadLine(), out nr))
{
ar[i] = nr;
}
}
for (int i = 0; i < n; i++)
{
Console.WriteLine(ar[i]);
}
}
Console.ReadKey();
}