Nullable types: better way to check for null or zero in c#(可空类型:在 c# 中检查空值或零的更好方法)
问题描述
我正在做一个项目,我发现我在很多地方检查以下内容:
I'm working on a project where i find i'm checking for the following in many, many places:
if(item.Rate == 0 || item.Rate == null) { }
更令人好奇的是,检查这两种情况的最佳方法是什么?
more as a curiousity than anything, what's the best way to check for both cases?
我添加了一个辅助方法,它是:
I've added a helper method which is:
public static bool nz(object obj)
{
var parsedInt = 0;
var parsed = int.TryParse(obj.ToString(), out parsedInt);
return IsNull(obj) || (parsed && parsedInt == 0);
}
有更好的方法吗?
推荐答案
我喜欢 if ((item.Rate ?? 0) == 0) { }
更新 1:
你也可以定义一个扩展方法,如:
You could also define an extension method like:
public static bool IsNullOrValue(this double? value, double valueToCheck)
{
return (value??valueToCheck) == valueToCheck;
}
像这样使用它:
if(item.IsNullOrValue(0)){}
//但你没有从中得到太多
if(item.IsNullOrValue(0)){}
// but you don't get much from it
这篇关于可空类型:在 c# 中检查空值或零的更好方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:可空类型:在 c# 中检查空值或零的更好方法


基础教程推荐
- 我什么时候应该使用 GC.SuppressFinalize()? 2022-01-01
- 当键值未知时反序列化 JSON 2022-01-01
- 如何使用OpenXML SDK将Excel转换为CSV? 2022-01-01
- 创建属性设置器委托 2022-01-01
- 从 VB6 迁移到 .NET/.NET Core 的最佳策略或工具 2022-01-01
- C# - 将浮点数转换为整数...并根据余数更改整数 2022-01-01
- C# - 如何列出发布到 ASPX 页面的变量名称和值 2022-01-01
- 覆盖 Json.Net 中的默认原始类型处理 2022-01-01
- 使用 SED 在 XML 标签之间提取值 2022-01-01
- Page.OnAppearing 中的 Xamarin.Forms Page.DisplayAlert 2022-01-01