【问题标题】:How to error check for more than a certain amount of Command Parameters如何对超过一定数量的命令参数进行错误检查
【发布时间】:2011-07-14 02:56:51
【问题描述】:

我不太清楚如何谷歌搜索或将其放在一句话中,但这是我的场景。

我正在用 C# 创建一个简单的程序,它的一个特点是获取命令参数并从某个命令参数获取目录并在另一个命令参数中获取输出。我有 2 个参数,第一个是 InputPath,第二个是输出路径。很基本。

我正在做错误检查,看看他们放置的目录是否有效使用

if(Directory.Exists(args[0])&Directory.Exists(args[1]))
{
    GenManifest(args[0], args[1]);
}

我的问题是如何做到这一点,如果他们放置超过 2 个命令参数,我可以放置如下错误

MessageBox.Show("Please only insert 2 arguements","Error");

我也有一个简单的

else
{
    MessageBox.Show("Invalid arguement format","Error");
}

涵盖所有其他错误的大部分。

我也在考虑其他方法来错误检查我的代码,但现在我希望目录有效并且有适当数量的争论。

谢谢!

丹尼尔·斯特巴

【问题讨论】:

    标签: c# error-handling command-line-arguments


    【解决方案1】:

    只需检查 args 数组的长度:

    if (args.Length != 2)
    {
        // Display error
    }
    

    【讨论】:

      【解决方案2】:
      if (args.Length != 2)
      {
          MessageBox.Show("Please only insert 2 arguements","Error");
      }
      

      您还应该将& 更改为&& 所以:

      if (Directory.Exists(args[0]) && Directory.Exists(args[1]))
      {
          GenManifest(args[0], args[1]);
      }
      

      这里如果第一个条件返回 false,则第二个条件将被忽略。

      【讨论】:

      • && 是确保代码需要两个布尔结果为真时的正确格式。
      • 是的,这是真的。但请注意,可以在此处使用 C# 中的 &,但即使第一个条件返回 true,也会评估 whole 条件以获取有关& 的更多信息,请查看msdn
      猜你喜欢
      • 2014-02-16
      • 1970-01-01
      • 1970-01-01
      • 2016-05-31
      • 2013-12-15
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      相关资源
      最近更新 更多