C# 帮助类实现常见任务
我想创建一个助手类来完成一些常见任务 例如,我从数据库中检索一些结果,然后将值分配给变量。但我的记录中的某些字段也可能包含null。我想在赋值之前检查该值是否不包含任何null 还有一些变量是int类型的,所以在解析到特定类型之前需要进行检查C# 帮助类实现常见任务,c#,asp.net,helper,C#,Asp.net,Helper,我想创建一个助手类来完成一些常见任务 例如,我从数据库中检索一些结果,然后将值分配给变量。但我的记录中的某些字段也可能包含null。我想在赋值之前检查该值是否不包含任何null 还有一些变量是int类型的,所以在解析到特定类型之前需要进行检查 int iValue=int.parse(Helpers.IsNull(dr[colName].toString())); string strValue=Helpers.IsNull(dr[colName].toString()); 我应该如何创建一个
int iValue=int.parse(Helpers.IsNull(dr[colName].toString()));
string strValue=Helpers.IsNull(dr[colName].toString());
我应该如何创建一个helper类,以及使用IsNull方法返回什么值
有点困惑
谢谢我想,您要做的是避免出现NullReferenceException 您可以通过编写这样的通用方法来实现这一点
public static TValue GetValueSafe<TValue,TObject>(TObject obj, Func<TObject,TValue> accessor)
{
if(obj== null)
return default(TValue);
return accessor(obj);
}
这将返回toString的值,或者如果dr[colName]==null返回默认值(字符串),则返回null
您可以通过添加一个defaultParameter来定义“failure”上的值来检验这一点
但是我不建议使用这种方法。一种更激进的方法(可以消除这个问题)是从您的值中完全消除空值
查询数据库时,最简单的方法是通过ISNULL()
:
你现在在哪里
SELECT MyColumn FROM MyTable
你去吧
SELECT ISNULL(MyColumn, '') AS MyColumn FROM MyTable
然后,您可以假设代码中不会出现空值。dr==DataReader吗?有什么解决办法吗?如果你不推荐,那么最好的解决办法是什么?看看你问题中的评论。
SELECT ISNULL(MyColumn, '') AS MyColumn FROM MyTable