(int)foo只是转换为
Int32(
int在C#中)类型。这是建立在CLR和要求
foo是数字变量(例如
float,
long等),在这个意义上,它是非常类似于C的投
Convert.ToInt32设计为通用转换函数。它比铸造更重要。也就是说,它可以从 任何 原始类型转换为a
int(最著名的是解析a
string)。您可以在MSDN上查看此方法的重载的完整列表。
正如Stefan Steiger 在评论中提到的那样:
另外,请注意,在数值级别上,
(int) foo截断foo(ifoo =Math.Floor(foo)),而Convert.ToInt32(foo)使用一半至偶数舍入(将x.5
舍入为最接近的EVEN整数,即ifoo= Math.Round(foo))。因此,结果不仅在实现方面,而且在数值上 也不 相同。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)