我测试这段代码

int value = (char)+(int)-(float)+(double)-1;

我得到这个结果 (1) 这意味着 value 是 1 !这是如何计算的?

编辑:

我昨天在一家公司面试,这是他们的问题,我不知道这个数字是如何获得的 1 。所以我试图了解这个结果是如何产生的。

最佳答案

这真的只是很多类型转换。 +- 符号仅用于否定数字。因此,取表达式的第一位,将 -1 转换为 double :

(double)-1

然后获取结果并将其转换为 float :
(float)+(-1)

依此类推,直到以隐式转换为 charint 结束。

关于c# - 我不明白这句话在 c# 中是如何计算的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45478930/

10-11 17:34