大家好,
考虑以下代码片段:
string message = "abc;def;ghi";
string[] msgs = message.Split(';');
string temp = msg[2] ? msg[2] : "Failed";
Message变量来自服务器,长度不同。我需要解析它,以便如果值不存在,则结果应为"失败"。
有没有简单的方法可以做到这一点?
现在,这个构造会给出编译器错误:"无法将字符串转换为布尔值"。
谢谢。
[编辑]
我想有些人字面上读了这封信。;-) 我需要检查"msg"数组的任意元素是否存在,而不仅仅是msg[2]。 我可能会有这样的东西:
string message = "abc;def";
str[] msg = message.Split( ';' );
string temp = msg[3] ? msg[3] : "Failed";
在下一个消息处理中。
[/编辑]
x ? y : z
中,表达式x
必须 求值为bool
类型,就像在if (x) { .. }
中一样。这就是编译器错误的含义。 - user166390