助手类实现共同任务

我想创建一个帮助类来完成一些常见的任务。

例如,我从数据库中检索一些结果,然后将值分配给变量。 但是我记录中的某些字段也可能包含null。 我想在分配之前检查该值是否包含任何null。

还有一些变量是int类型,所以在解析特定类型之前要检查一下。

int iValue=int.parse(Helpers.IsNull(dr[colName].toString())); string strValue=Helpers.IsNull(dr[colName].toString()); 

我应该如何创建一个帮助器类以及我应该使用IsNull方法返回什么值?

有点混淆..

谢谢

那么你想要努力的是避免NullReferenceException我猜。

您可以通过编写这样的通用方法来实现此目的

 public static TValue GetValueSafe(TObject obj, Func accessor) { if(obj== null) return default(TValue); return accessor(obj); } 

然后像这样使用它:

 string strValue = Helpers.GetValueSafe(dr[colName], o => o.toString()); 

这将返回toString的值,或者如果dr [colName] == null返回默认值(字符串)为null。

您可以通过添加defaultParameter来定义“失败”的值来进行此操作。

但是我不建议使用它。

一种更激进的方法(可以消除这个问题)就是完全消除你的价值观中的NULL。

查询数据库时,最简单的方法是通过ISNULL()

现在你去哪里

 SELECT MyColumn FROM MyTable 

你转而去

 SELECT ISNULL(MyColumn, '') AS MyColumn FROM MyTable 

然后你可以假设没有NULL会通过你的代码。