Почему десятичные числа в C # нельзя инициализировать без суффикса M?

public class MyClass
{
    public const Decimal CONSTANT = 0.50; // ERROR CS0664   
}

выдает следующую ошибку:

ошибка CS0664: литерал типа double не может быть неявно преобразован в тип "десятичный"; используйте суффикс 'M' для создания литерала этого типа

, как задокументировано . Но это работает:

public class MyClass
{
    public const Decimal CONSTANT = 50; // OK   
}

И мне интересно, почему они запрещают первое. Мне это кажется странным.

35
задан onof 4 August 2011 в 14:02
поделиться