为什么我们不需要使用字符串? str和decimal或int我们需要使用decimal吗?价格= p?价格

时间:2018-03-19 06:30:48

标签: c# null-conditional-operator

我是c#的新手。我在null条件运算符中有一个混乱。

如果字符串中的每个人都使用此行

string name = p?.name;

但是在十进制或浮点数的情况下

decimal? price = p?.price;
int? quantity = p?.count; 

1 个答案:

答案 0 :(得分:2)

实际上' int'和'十进制'不是参考类型。而'字符串'是。引用类型可以包含null和'不可为空的值',因此对于字符串,您不需要使用?decimal,{{1} },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是值类型