title: When casting of base value types is neccessary in C#
body: <p>I have a general question regarding casting between base value types when a mathematical operation is used. Are there any written rules in the Microsoft C# specs? I couldn't find them. Does it work the same in Mono?</p>
  
  <p>Example:</p>
  
  <pre><code>double a = 1 / 1234;                    //Result is 0
  double b = 1.0 / 1234;                  //Result is 0,000810372771474878
  double c = 1.0 / (double)1234;          //Result is 0,000810372771474878
  double d = (double)1 / (double)1234;    //Result is 0,000810372771474878
  double e = 1 / 1234.0;                  //Result is 0,000810372771474878
  </code></pre>
  
  <p>Can I assume that the result is always a double when dividend or divisor are doubles?
  Or for some reason is it better to ensure both are doubles (see case d - I have seen many of such code which actually make me ask this question)</p>
  
  <p>Regards,
  Sebastian</p>