C#条件运算符 - 这是怎么回事?

时间:2017-04-21 18:16:16

标签: c# conditional-operator

我无法弄清楚我为自己的生活做错了什么。我一直在使用?:在我的项目的整个生命周期中但突然间我一直被告知“只能使用赋值,调用,递增,递减和新的对象表达式”,如果我将完全相同的东西复制并粘贴到另一个文件..我没有那样的错误。

是真的吗? “1”:“1”;应该是最基本的说法,对吗?我的意思是它已经在其他地方做过,所以我可能不理解?

Conditional Statement

1 个答案:

答案 0 :(得分:4)

当你说你在其他地方使用条件运算符时它工作得很好,也许你的使用方式与你共享的屏幕截图不同。我这样说是因为C#不允许你按照你提到的方式做到这一点:即

true ? "1" : "1";

以这种方式思考: 条件运算符本质上是if-else。

if (true)
    "1"; //does not make sense, it appears to be string but the compiler needs to know what this is exactly
else
    "1"; //same comment as above

总结一下,你需要分配那个字符串" 1"变量&事情会好起来的。

string str = true ? "1" : "1";