Подтвердить что ты не робот

Разница между десятичной и десятичной

Если кто-то может объяснить мне разницу между десятичным и десятичным в С#, это было бы здорово.

В более общем виде, какова разница между строчными строками типа decimal, int, string и upper case Decimal, Int32, String.

Единственная разница в том, что классы верхнего регистра также обертывают функции (например, Decimal.Divide())?

4b9b3361

Ответ 1

Они одинаковы. Тип decimal является псевдонимом для System.Decimal.

Итак, в основном десятичное значение - это то же самое, что и Decimal. Это зависит от предпочтений пользователей, которые нужно использовать, но большинство предпочитает использовать int и string, поскольку их легче набирать и более знакомы среди программистов на С++.

Ответ 2

Поскольку С# является языком .NET, все типы должны отображаться в .NET Framework Type.

Чтобы ответить на ваш первый вопрос, десятичным является псевдоним типа System.Decimal.NET Framework. Они могут использоваться взаимозаменяемо.

Чтобы ответить на ваш второй вопрос, как десятичные, так и десятичные должны расширять те же функции, в том числе как из созданной переменной, так и из "Структуры" самого типа значения.

decimal FirstDec = 12;
Decimal SecondDec = 13;
decimal ThirdDec = decimal.Ceiling(FirstDec, SecondDec);
Decimal FourthDec = Decimal.Floor(ThirdDec);
bool isEqual = FirstDec.Equals(SecondDec) && FourthDec.Equals(ThirdDec);

Следующая страница MSDN для встроенных типов покажет вам, к какому System.ValueType соответствует каждый алиас. А для Decimal и Decimal в частности вы можете ссылаться на эту страницу MSDN для десятичного.

Ответ 3

встроенные типы С# - это не все структуры *. Они являются псевдонимами для предопределенных типов в пространстве имен System. Они буквально одинаковы во всех отношениях кроме форматирования. Типы псевдонимов строчные и форматированные как ключевые слова (синий). Типы системы PascalCased и отформатированы как типы (светло-голубой).


* object и string являются классами

Ответ 4

decimal, int, string - всего лишь короткая нотация, чтобы сделать вещи проще/красивее для вас. Структура действительно не знает, что такое "десятичная", но она знает System.Decimal, поэтому при компиляции кода десятичный код просто превращается в System.Decimal. Попробуйте взглянуть на какой-то код, в котором все типы полностью квалифицированы, а затем попытайтесь найти какой-то код, в котором используются псевдонимы, я думаю, что большинство программистов предпочтут более компактные псевдонимы и воспримут его как более легкое для чтения. Я также думаю, что это может быть возврат к C/С++, чтобы упростить переход.