在c#語言中的數字有兩個特性要了解。例如:任何數除以0所得的結果是無窮大,不在int long 和decimal類型的范圍內。所以計算(一個數除以0會出錯),但是在double和float類型中有一個可以表示無窮大的特殊值(infinity無窮大)。這個規則的唯一例外的表達式是0.0/0.0,通常如果0除以任何數結果都是0,但是任何數除以0結果是無窮大。這樣就會陷入矛盾的境地,針對這種情況,c#提供了另一個值NaN,(not a number)。所以如果計算表達式0.0/0.0,則結果為NaN,NaN和Infinity可以在表達式中使用。計算10+NaN = NaN,10+Infinity = Infinity。例外的是Infinity*0 = 0 NaN*0 = NaN。
在C和C++中,不允許對float和double值使用取模運算符,但是在C#中是允許使用的,而且結果不一定是整數。