0
 public class Invoice
    {
        public decimal Amount { get; set; }
    }

Mは 10 進数値のサフィックスであることを知っています

  public class Invoices
    {
        public void IdentityTest()  
        {
            Invoice firstInvoice = new Invoice();  
            firstInvoice.Amount = 0.0M;
        }    
    }

10 進数であると予想される値で M を使用する必要がある場合、クラス プロパティを 10 進数として宣言するポイントは何ですか?

4

3 に答える 3

2

コンパイラにリテラルの型を伝える必要があります - リテラルのデフォルトの型を使用したいかもしれないので、それを推測するのは安全ではありません (doubleこの場合)。

これは、2 つの間に暗黙的な変換がある場合に機能しますが、そうでない場合は、キャスト/変換を指定する必要があります。

于 2013-04-09T12:31:24.487 に答える
0

サフィックスを使用しない場合M、リテラルは double として扱われます。double が必要ないと仮定すると、コンパイラ エラーが発生する可能性があります。

于 2013-04-09T12:32:25.867 に答える
0

MSDN から:

接尾辞 m がない場合、数値は double として扱われるため、コンパイラ エラーが発生します。

http://msdn.microsoft.com/en-us/library/364x0z75(v=vs.80).aspx

于 2013-04-09T12:32:33.300 に答える