我测试这段代码
int value = (char)+(int)-(float)+(double)-1;
我得到这个结果 (1) 这意味着 value 是
1
!这是如何计算的?编辑:
我昨天在一家公司面试,这是他们的问题,我不知道这个数字是如何获得的
1
。所以我试图了解这个结果是如何产生的。 最佳答案
这真的只是很多类型转换。 +
和 -
符号仅用于否定数字。因此,取表达式的第一位,将 -1
转换为 double
:
(double)-1
然后获取结果并将其转换为
float
:(float)+(-1)
依此类推,直到以隐式转换为
char
的 int
结束。关于c# - 我不明白这句话在 c# 中是如何计算的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45478930/