为什么它说它不能与 bool 和 int 一起使用
int sign = (op == "+" ?? 1 : -1);
我需要使用 if ... then 来代替吗?
那是无效的语法。
条件运算符使用单个 ?
.
条件运算符(也称为三元运算符)只需要一个问号。
int sign = (op == "+" ? 1 : -1);
您还应该检查(取决于字符串来自何处)检查 op 是否确实分配了某个字符串
string op = "+";
int sign = ((op == "+") ? 1 : op.Length == 0? 0:-1);
编辑:检查空选项
int sign = (String.IsNullOrEmpty(op) ? 0 : (op == "+") ? 0 : -1);