If you create new projects in C# and VB.NET, then go directly in the Immediate Window and type this:
? 567 / 1000
C# will return 0, while VB.NET will return 0.567.
To get the same result in C#, you need to type
? 567 / 1000.0
Why is there this difference? Why does C# require the explicit decimal point after 1000?
The / operator in C# for integer operands does the “integer division” operation (equivalent to \ operator in VB.NET). For VB.NET, it’s the “normal” division (will give fractional result). In C#, in order to do that, you’ll have to cast at least one operand to a floating point type (e.g.
double) explicitly.