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# 中检查空值或零的更好方法


- 是否可以在 .Net 3.5 中进行通用控件? 2022-01-01
- 在 LINQ to SQL 中使用 contains() 2022-01-01
- 使用 rss + c# 2022-01-01
- 为什么 C# 中的堆栈大小正好是 1 MB? 2022-01-01
- 在 C# 中异步处理项目队列 2022-01-01
- Azure Active Directory 与 MVC,客户端和资源标识同一 2022-01-01
- Windows 喜欢在 LINUX 中使用 MONO 进行服务开发? 2022-01-01
- 带问号的 nvarchar 列结果 2022-01-01
- C# 通过连接字符串检索正确的 DbConnection 对象 2022-01-01
- CanBeNull和ReSharper-将其用于异步任务? 2022-01-01