将命令行参数字符串在 C# 中分割成字符串数组
在 C# 中,命令行参数作为字符串数组 string[]
传递。问题是如何从包含命令行参数的单个字符串中提取此数组?
没有直接可用的标准函数来完成此任务。但是,我们可以使用自定义函数或正则表达式来正确分割字符串。
可以使用基于字符检查的自定义函数来分割字符串。该函数检查每个字符并确定是否应分割字符串。函数形式如下:
<code class="language-csharp">public static IEnumerable<string> SplitCommandLine(string commandLine) // ...</code>
算法如下:
inQuotes
为 false
。inQuotes
的值。inQuotes
为 false
且字符是 ' ',则分割字符串。可以使用以下扩展方法扩展功能:
public static IEnumerable<string> Split(this string str)
public static string TrimMatchingQuotes(this string input, char quote)
要使用该函数,请提供包含命令行参数的单个字符串,并接收包含各个参数的 string[]
数组:
<code class="language-csharp">string[] parameterArray = SplitCommandLine(parameterString).ToArray();</code>
<code class="language-csharp">public static void Test(string cmdLine, params string[] args) // ...</code>
可以使用自定义测试来验证分割算法的准确性。该函数将分割后的数组与预期数组进行比较,并断言它们相等。
通过使用自定义函数或正则表达式,我们可以有效地将包含命令行参数的字符串分割成 string[]
数组,捕获各个参数,就像在命令行上指定参数时 C# 的处理方式一样。
以上是如何在 C# 中将单个命令行参数字符串拆分为字符串数组?的详细内容。更多信息请关注PHP中文网其他相关文章!