Почему нам не нужно использовать строку? str и для десятичной или int нам нужно использовать десятичную? цена = р? цена
Я новичок в C#. У меня путаница в нулевом условном операторе.
в случае строки каждый, кто использует эту строку
string name = p?.name;
но в случае десятичного числа или числа с плавающей запятой
decimal? price = p?.price;
int? quantity = p?.count;
1 ответ
На самом деле "int" и "decimal" не являются ссылочными типами. в то время как строка ссылочный тип может содержать null
и 'не обнуляемое значение', поэтому со строкой вам не нужно использовать ?
и с decimal
, int
, bool
и т. д. вам придется использовать ?
как они не обнуляются.
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/value-types https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/reference-types
проверьте ссылку ниже, строка является ссылочным типом, а int является типом значения