【问题标题】:command-line arguments separator and how to check for it in C#命令行参数分隔符以及如何在 C# 中检查它
【发布时间】:2010-09-08 04:01:49
【问题描述】:

用于分隔命令行参数的字符是什么(例如空格、\t)? 如何检查字符串是否包含分隔符? 例如:Check("abcd") 为假,Check("ab cd")Check("ab\tcd") 为真

【问题讨论】:

标签: c# string command-line


【解决方案1】:

默认情况下,C# 会根据空格分割你的参数,因此不需要分割你的参数。

但如果你因为某种原因必须这样做,那么

您可以使用 string.split(' ') 拆分命令行参数并获取字符串数组

所以基本上你会做这样的事情

bool Check(string argument)
{
    string[] arguments = argument.split(' ');
    if (arguments.Length > 1) // In your case if you are expecting 2 or more arguments
    {
        return true;
    }
    return false;
}

【讨论】:

  • C# 默认使用空格作为分隔符。如果您想使用其他一些分隔符,那么您可以获取参数并使用您想要支持的分隔符将其拆分。所以如果你想用'-'分隔它,那么你可以使用argument.split('-')
  • 我的意思是,在命令行中,如果你通过 "a\tb" a 和 b 会分开,对吗?我在问什么字符(除了空格)算作命令行中的分隔符
  • 如果您从控制台传递“a\tb”,它将被视为字符串字符而不是转义序列。因此您将在应用程序中收到的参数将是“a\\tb”。
  • @LouisRhys 选项卡将被视为空格(即,如果您可以在命令提示符下使用选项卡)...您也可以随时执行简单的 foreach(var arg in args) Console.WriteLine(arg); 来测试默认行为是什么
  • 我刚来这个答案,我不得不提到return argument.split(' ') > 1;
猜你喜欢
  • 1970-01-01
  • 2017-03-10
  • 1970-01-01
  • 1970-01-01
  • 2021-02-14
  • 1970-01-01
  • 2012-10-21
  • 1970-01-01
  • 2021-02-28
相关资源
最近更新 更多