C# 中强制转换的优先级

kri*_*anp 2 c# operators

C# 中强制转换的优先级是什么?例如,在下面的代码中,z 会小于或等于 2 吗?

double x = 4.5;
double y = 2.1;
double z = (int) x / y;
Run Code Online (Sandbox Code Playgroud)

Sec*_*att 5

强制转换优于所有二元运算符的绑定。因此 (int)x / y 表示 ((int)x)/y。

另一方面,你应该总是更喜欢可读的代码而不是聪明的代码,所以既然你不知道你应该编写以下内容:

((int)x) / y

请注意,括号是免费的,可以使您的代码更具可读性。