c++ x = P >c#中的Q等价
本文关键字:中的 等价 c++ | 更新日期: 2023-09-27 18:05:09
我正在尝试将c++程序转换为c#。我遇到了如下一行语句:
int X;
int P = 10;
int Q = 5;
X = P < Q;
如果X是bool值,对我来说是有意义的。然而X是一个整数。我想知道X的输出是多少。它可能是c++中非常基本的语法。抱歉我的无知。我在c#中寻找等效的语句。如有任何建议,不胜感激。
谢谢
在c#中是不允许赋值的,因为(正如您所猜测的)表达式P < Q
的类型将是bool
。下面的c#代码大致相当于:
int X;
int P = 10;
int Q = 5;
X = (P < Q) ? 1 : 0;
如果你想要一个布尔结果:
bool X = P < Q;
…如果你想要一个整数:
int X = P < Q ? 1 : 0;
bool到c++中的整数转换为:true为1,false为0。c#中不存在这种转换。
int X;
int P = 10;
int Q = 5;
X = (P < Q)?(1):(0);
如前所述,此转换不隐式或显式存在,但您可以使用Convert
类
int X;
int P = 10;
int Q = 5;
X = Convert.ToInt32(P < Q);
但使用bool
或X = P < Q? 1:0
是最好的。
X
的值为1(0为假,1(或任何非零整型)为真)