C# 帮助类实现常见任务

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()); 我应该如何创建一个

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

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

还有一些变量是int类型的,所以在解析到特定类型之前需要进行检查

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