如何在 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();
   }

如何在 C# 中输入

下面是处理您情况下无效输入的两种方法的简单示例。您可以做的一件事就是无法向用户提供输入不正确的信息。第二种可能性是将无效输入视为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();
    }