加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 帮助函数用于从字符串安全转换

发布时间:2020-12-15 17:48:18 所属栏目:百科 来源:网络整理
导读:回到VB6,我写了几个函数,让我的代码,而不必关心null和“for”之间的区别,null和0的数字等等.没有什么比编码时更多地杀死我的生产力,而不是添加特殊情况处理可能导致一些无关错误的数据的代码; 9999/10000如果我使用的数字是null,那么我真的把它当作0. 我现在
回到VB6,我写了几个函数,让我的代码,而不必关心null和“for”之间的区别,null和0的数字等等.没有什么比编码时更多地杀死我的生产力,而不是添加特殊情况处理可能导致一些无关错误的数据的代码; 9999/10000如果我使用的数字是null,那么我真的把它当作0.

我现在在C#中,VB6和C#2005之间的区别是相当广泛的…所以我真的不知道从哪里开始编写我的新的一组帮助函数,或者如果我甚至需要这样做.

所以,我需要编写一个函数来接受一个字符串,一个数据库字段,一个请求格式/查询字段,然后做任何它可以做的,把它转换成一个Double,并返回到调用过程.

我也需要做这个短裤,int16,int32,长,我可以关心的一切.

然后我会做这个字符串.和日期.

这是值得追求吗?在框架或C#中有什么可以用吗?我真的希望能够让我在调用其他函数时使用数据,而不必创建临时变量.

解决方法

内置了转换功能的scad.但是…我不知道他们中的任何一个完全符合你想要的.一般来说,.NET方法在传递无效输入时会小心谨慎,并抛出异常.

幸运的是,您可以轻松地编写一个实用程序方法来将数值,空字符串空或空字符串的字符串表示形式转换为任何输出类型:

public static T SafeConvert<T>(string s,T defaultValue)
{
    if ( string.IsNullOrEmpty(s) )
        return defaultValue;
    return (T)Convert.ChangeType(s,typeof(T));
}

使用:

SafeConvert(null,0.0) == 0.0;
SafeConvert("",0.0) == 0.0;
SafeConvert("0",0.0) == 0.0;

该通用方法从第二个参数的类型获取其返回类型,当传递的字符串为空或为空时,该方法用作默认值.通过0,你会得到一个In32回来.通过0L,Int64.等等…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读