我想写这样一个带参数的方法
首先传过来的值是像int? DateTime? decimal?这样的类型的
然后利用Convert.IsDBNull()判断传过来的值是否为DBNull,
如果为True,返回null并转换为相应的类型,
如果不是,则返回对应传过来的值(注意数据类型(int? DateTime? decimal?这些类型))
int? n = Convert.IsDBNull(reader["userName"]) ? (int?)null : int.Parse(reader["userName"].ToString());
上述例子是利用三元运算进行转换,而我想写这样的一个转换方法,这样就简化一点了reader["userName"]:是数据库某个字段的值字段名,利用SqlDataReader读出来的
(int?)null : 如果去掉int?,直接写null,会报错的请大家提示提示哈...
首先传过来的值是像int? DateTime? decimal?这样的类型的
然后利用Convert.IsDBNull()判断传过来的值是否为DBNull,
如果为True,返回null并转换为相应的类型,
如果不是,则返回对应传过来的值(注意数据类型(int? DateTime? decimal?这些类型))
int? n = Convert.IsDBNull(reader["userName"]) ? (int?)null : int.Parse(reader["userName"].ToString());
上述例子是利用三元运算进行转换,而我想写这样的一个转换方法,这样就简化一点了reader["userName"]:是数据库某个字段的值字段名,利用SqlDataReader读出来的
(int?)null : 如果去掉int?,直接写null,会报错的请大家提示提示哈...
加上? 可空连接符
表示类型可以被设置为null所以去掉“?”就不能设置为null
{
}
我就是想用一个泛型集合把像int? DateTime?这样的类型装起来
但是不会写,能详细点吗?
if (!row.IsNull(columnName))
{
return (T)row[columnName]
}
return default(T);
} http://www.csharpwin.com/csharpspace/11833r1014.shtml