如何解决拆分不会显示所有字符串
我正在制作一个应用程序(Windows窗体),该应用程序将运行命令并检查参数。我尝试对参数使用split,但是我注意到只显示了一个字符串,这是命令而不是参数。我在做什么错了?
输入:
sicr -dev
RunCommands.cs:
class RunCommands
{
public string Parse(string command)
{
string[] args = command.Split(' ');
if (command.StartsWith("sicr"))
{
return SICR(args);
}
return "Unknown console error.";
}
private string SICR(string[] args)
{
foreach (string arg in args)
{
System.Diagnostics.Debug.WriteLine(arg);
if (arg == "-dev")
{
return "SUCCES";
}
else
{
return "ERROR: Not enough administrator levels.";
}
}
return "ERROR: Unknown.";
}
}
输出:
sicr (Supposed to be -dev)
解决方法
如注释中所述,您将返回第一个参数,这就是为什么它不使用-dev
命令的原因。您可以将功能更改为:
private string SICR(string[] args)
{
if (args.Length == 0)
{
return "ERROR: Unknown.";
}
return args.Contains("-dev") ? "SUCCESS" : "ERROR: Not enough administrator levels.";
}
其中哪个将在args
中搜索-dev
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。