如何摆脱“If then else”?
If qShoppingCartByCartID.Invoke(_context).Count > 0 Then
Return qShoppingCartByCartID.Invoke(_context).Select(Function(x) x.Products.UnitCost - x.Products.SalePrice).Sum
Else
Return 0
End If
答案 0 :(得分:0)
如果列表为空,则Sum()将返回null
- 因此您可以返回总和:
Return qShoppingCartByCartID.Invoke(_context).Select(Function(x) x.Products.UnitCost - x.Products.SalePrice).Sum()
在C#中你也可以使用??
将其变为零而不是null如果你想
return qShoppingCartByCartID....Sum() ?? 0;
我不是VB用户,但看起来你可以使用If
在VB中执行相同的null操作 - 请参阅Is there a VB.NET equivalent for C#'s '??' operator?