cqtrq
cqtrq
采纳率97.1%
2015-09-03 14:55 阅读 1.7k
已采纳

条件运算符,编译报错

项目中应用条件运算符?报错:只有 assignment、call、increment、decrement、await 和 new 对象表达式可用作语。
写了个最简单的测试代码,问题依旧:

 int i = 0;
string str = "";
 i == 0 ? str = "true" : str = "false";

编译照样报错:只有 assignment、call、increment、decrement、await 和 new 对象表达式可用作语。
查看MSDN也不明白,请老师们指点下迷津,谢啦!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2015-09-03 14:56

    str = (i == 0 ? "true" : "false");

    点赞 4 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-09-03 15:07

    注意只能跟表达式radioButtonR1_YES.Checked = true语句,不是表达式

    点赞 2 评论 复制链接分享
  • cqtrq cqtrq 2015-09-03 15:04

    我的实际代码是这样的(处理RadioButton选项):

     cl.ChildNodes[1].ChildNodes[2].InnerText.ToLower() == "true" ? radioButtonR1_YES.Checked = true : radioButtonR1_NO.Checked = true;
    

    不太好按照caozhy的方式改造...是不是我这样的思路不对?

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-09-03 15:06
     如果你无聊非要用,可以这么写
    CheckBox ch = cl.ChildNodes[1].ChildNodes[2].InnerText.ToLower() == "true" ? radioButtonR1_YES.: radioButtonR1_NO;
    ch.Checked = true;
    
    点赞 评论 复制链接分享

相关推荐