- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关闭。这个问题是opinion-based .它目前不接受答案。
想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.
5 天前关闭。
Improve this question
我有属性类型 int?
和 decimal?
正在计算中使用。如果其中任何一个的值为空,则它必须默认为 0。我正在尝试在使用空合并或 GetValueOrDefault()
之间做出决定。如果值为 null
,也将默认为 0 .
哪种方法在可读性和性能方面会更好(如果有任何明显的差异)?
第一的:
public decimal MyMethod(int memberId)
{
var dto = GetDtoValue(memberId);
return (dto.PropertyOne ?? 0)
+ (dto.PropertyTwo ?? 0)
+ (dto.PropertyThree ?? 0)
- (dto.PropertyFour ?? 0)
+ ...
}
public decimal MyMethod(int memberId)
{
var dto = GetDtoValue(memberId);
return dto.PropertyOne.GetValueOrDefault())
+ dto.PropertyTwo.GetValueOrDefault())
+ dto.PropertyThree.GetValueOrDefault())
- dto.PropertyFour.GetValueOrDefault())
+ ...
}
最佳答案
可读性
这当然是意见,但是
?? 0
感觉一下子就清楚了GetValueOrDefault
并且必须花一点时间考虑类型,然后是该类型的默认值(我不认为这是一个问题,只是指出“心理映射”)GetValueOrDefault
编译为技术上更快的 CIL,但改进是
micro-optimization最好。
关于c# - ??或 .GetValueOrDefault(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56437217/
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 5 天前关闭。 Improve
我负责 LINQ 提供程序,该提供程序对 C# 代码执行一些运行时评估。例如: int? thing = null; accessor.Product.Where(p => p.anInt == th
我正在尝试从列表中获取一些值。但我想确保如果 key 不存在,它将返回默认值 0而不是抛出异常。 var businessDays = days.Where(x => x.Year == year).
我定义了一个像这样的自定义类型的字典, public readonly Dictionary _viewMappings = new Dictionary(); 现在当我尝试做的时候 _viewMa
努力使用非常简单的代码,这些代码在其他类中可以使用类似代码的地方不起作用。如果我删除 GetValueOrDefault(),它将无法编译。我也在使用 System.Linq。我收到此运行时错误:LI
对于数字,它总是相同的漂亮: if(a < 123) { ... } // disregards if `b` is `int?` or `int` 但是对于 bool?: bool? b = ...
我是一名优秀的程序员,十分优秀!