【发布时间】:2011-08-26 04:45:00
【问题描述】:
有人愿意解释一下为什么这两段代码会显示不同的结果吗?
VB.NET v4.0
Dim p As Integer = 16
Dim i As Integer = 10
Dim y As Integer = p / i
//Result: 2
C# v4.0
int p = 16;
int i = 10;
int y = p / i;
//Result: 1
【问题讨论】:
-
似乎在 VB.NET 中,
p / i在两个Integers 上的结果是一个Doublestackoverflow.com/questions/1953164/…,然后被压缩成一个Integer。 -
如果你在 VB.NET 中工作,你真的应该打开 Option Strict - 那么编译器会因为精度损失而产生错误。
标签: c# .net vb.net operators division