c# - C#在单词之后而不是在空格之后拆分输入
问题描述
Console.Write(currentDirectory + ">");
string commandinput = Console.ReadLine();
string userinput = commandinput.ToLower();
char[] delim = new char[] { ' ' };
string[] splitted = userinput.Split(delim);
string userinput1 = splitted[0];
string userinput2 = splitted[1];
这是我当前的代码。它有效,但我有一个问题。如果用户写“ping google.com”,一切都会被找到,我的 pinger 工作。但我也有一个清除控制台的命令“clear”。如果用户写“清除”它会给出一个错误:
“指数数组的边界之外。”
因为我没有写任何东西可以分割输入。我怎样才能改变它,它在第一个单词而不是空格之后分割输入?
感谢:D
解决方案
你做的更像是:
string userinput1 = splitted[0];
string userinput2 = splitted.Length > 1 ? splitted[1] : null;
但请记住,如果您稍后尝试使用 userinput2 而不先检查它是否为空,那么您将收到 NullReferenceException
推荐阅读
- wordpress - 如何在 Google Maps api 上自动查询从实时位置到某个位置的方向?
- swift - 如何在swift 3.0中将对象名称作为字符串获取
- kubernetes - Kubernetes 数据分区大小
- c++ - CANoe - 无法在 CAPL 脚本中打开 .dll
- database - 为什么 Oracle Database XE 18c 未在 Windows 10 中安装?
- python - 如何检查图像是否包含文字?
- angular - Angular 自定义响应式表单验证器不起作用
- android - Squarespace Announcement Bar cut off on Android Chrome Browser
- ubuntu - vscode 终端为空/不存在
- gradle - Remote gradle build daemon