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++ x = P >c#中的Q等价

在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);

但使用boolX = P < Q? 1:0是最好的。

X的值为1(0为假,1(或任何非零整型)为真)