我试图学习使用null条件运算符,但似乎无法让它工作,
string datetest = DOInfolist[i].RentalItem.SimCard.DateIn[u].Value.ToShortDateString() ?? "Empty";
Run Code Online (Sandbox Code Playgroud)
DateIn是一个nullable DateTime(List<Datetime?>)列表.
我做了调试,所有的值DateIn[u]都给了null.
我究竟做错了什么?
如果DateIn数组中的所有值都是null,那么您的代码将抛出一个NullReferenceException.
您可以在这里使用null-propagation-operator:
string datetest = DOInfolist[i].RentalItem.SimCard.DateIn[u]?.ToShortDateString() ?? "Empty";
Run Code Online (Sandbox Code Playgroud)
此operator(?.)现在返回一个可为空的字符串.如果DateIn[u]有值,ToShortDateString()则调用并且运算符返回带有返回值的可空字符串.
如果DateIn[u]是null运营商的回报null了.
| 归档时间: |
|
| 查看次数: |
807 次 |
| 最近记录: |