C ++ x = P> C#中的Q等价物

时间:2011-08-09 00:26:02

标签: c#

我正在尝试将C ++程序转换为C#。我在下面发表了一系列声明。

int X;
int P = 10;
int Q = 5;

X = P < Q;

如果X是bool值,对我来说很有意义。但是X是整数。我想知道X的输出是什么。它可能是C ++中非常基本的语法。对不起我的无知。我是在C#中的同等声明之后。任何建议都表示赞赏。

由于

5 个答案:

答案 0 :(得分:4)

在C#中,不允许赋值,因为(正如您猜测的那样)表达式P < Q的类型为bool。这个C#代码大致相同:

int X;
int P = 10;
int Q = 5;

X = (P < Q) ? 1 : 0;

答案 1 :(得分:3)

如果你想要一个布尔结果:

bool X = P < Q;

...如果你想要一个整数:

int X = P < Q ? 1 : 0;

答案 2 :(得分:2)

在c ++中bool到整数转换是:true是1,false是0.在c#中,这个对话不存在。

int X;
int P = 10;
int Q = 5;

X = (P < Q)?(1):(0);

答案 3 :(得分:1)

如前所述,此转化并非隐式或明确存在,但您可以使用Convert

int X;
int P = 10;
int Q = 5;

X = Convert.ToInt32(P < Q);

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

答案 4 :(得分:0)

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