【问题标题】:Optional Parameters with user input using C#使用 C# 进行用户输入的可选参数
【发布时间】:2021-09-30 15:04:32
【问题描述】:

所以我试图让我在 Visual Studio 上的控制台应用程序接受用户的空白答案,但是,在两个空白答案之后,我得到了一个错误。我使用的是 try/catch 而不是 if/else,看起来我的可选参数并没有按照我认为的方式工作。任何帮助将不胜感激!

我的 Program.cs 代码:

static void Main(string[] args)
    {
        try
        {
            Operator operatorObject = new Operator();
            Console.WriteLine("Pick a number:");
            int data = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Pick another number--optional");
            int input = Convert.ToInt32(Console.ReadLine());

            int result = operatorObject.operate(data, input);


            Console.WriteLine(result);
            Console.ReadLine();
        }
        catch
        {
            Operator operatorObject = new Operator();
            int data = Convert.ToInt32(Console.ReadLine());
            
            int result = operatorObject.operate(data);
            Console.WriteLine(result);


            Console.ReadLine();
        }
    }
}

我的班级代码:

public class Operator
{
    public int operate(int data, int input = 0)
    {
        return data + input;
    }
}

【问题讨论】:

    标签: visual-studio c#-4.0 optional-parameters


    【解决方案1】:

    您可以像这样使用 TryParse:

    static void Main(string[] args)
    {
      try
      {
        Operator operatorObject = new Operator();
        Console.WriteLine("Pick a number:");
        int data = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Pick another number--optional");
        int input;
        bool inputResult = Int32.TryParse(Console.ReadLine(), out input);
    
        int result = operatorObject.operate(data, input);
    
        Console.WriteLine(result);
        Console.ReadLine();
      }
      catch
      {
        Operator operatorObject = new Operator();
        int data;
        bool dataResult = Int32.TryParse(Console.ReadLine(), out data);
        int result = operatorObject.operate(data);
        Console.WriteLine(result);
    
        Console.ReadLine();
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-08
      • 1970-01-01
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      • 2018-03-28
      • 2019-02-06
      • 1970-01-01
      相关资源
      最近更新 更多