博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
菜鸟类库诞生记一:值类型的扩展
阅读量:6151 次
发布时间:2019-06-21

本文共 3269 字,大约阅读时间需要 10 分钟。

自从上次一篇博客已经有两个月了,因为一些事耽搁了 - ()。

到上海之后参加了很多面试,不管从技术上还是项目经验都遭遇到了一些打击,所以决心打造属于自己的框架作品。

虽然我还是一个菜鸟,不过我相信只要坚持就会实现我的目标。

今天的内容会很简单,只是想在博客上做一个简单的记录。

此扩展方法只是方便把对象转化为指定的值类型,如果转化失败,就返回要转化的值类型的默认值。

希望园友们能够多多提出你们的意见,谢谢啦!

代码如下:

1 using System;  2   3 namespace YCG.FCL.Common.ExtensionMethods  4 {  5     public static class ValueTypeExtension  6     {  7         public static bool ToBool(this object value)  8         {  9             bool result = default(bool); 10             if (value.IsNotNull()) 11             { 12                 bool.TryParse(value.ToString(), out result); 13             } 14             return result; 15         } 16  17         public static byte[] ToBytes(this object value) 18         { 19             try 20             { 21                 return (byte[])value; 22             } 23             catch (InvalidCastException castException) 24             { 25                 throw castException; 26             } 27         } 28  29         public static bool IsNotNull(this object value) 30         { 31             return value != null && value != DBNull.Value; 32         } 33  34         public static Int16 ToInt16(this object value) 35         { 36             Int16 result = default(Int16); 37             if (value.IsNotNull()) 38             { 39                 Int16.TryParse(value.ToString(), out result); 40             } 41             return result; 42         } 43  44         public static Int32 ToInt32(this object value) 45         { 46             Int32 result = default(Int32); 47             if (value.IsNotNull()) 48             { 49                 Int32.TryParse(value.ToString(), out result); 50             } 51             return result; 52         } 53  54         public static Int64 ToInt64(this object value) 55         { 56             Int64 result = default(Int64); 57             if (value.IsNotNull()) 58             { 59                 Int64.TryParse(value.ToString(), out result); 60             } 61             return result; 62         } 63  64         public static float ToFloat(this object value) 65         { 66             float result = default(float); 67             if (value.IsNotNull()) 68             { 69                 float.TryParse(value.ToString(), out result); 70             } 71             return result; 72         } 73  74         public static double ToDouble(this object value) 75         { 76             double result = default(double); 77             if (value.IsNotNull()) 78             { 79                 double.TryParse(value.ToString(), out result); 80             } 81             return result; 82         } 83  84         public static decimal ToDecimal(this object value) 85         { 86             decimal result = default(decimal); 87             if (value.IsNotNull()) 88             { 89                 decimal.TryParse(value.ToString(), out result); 90             } 91             return result; 92         } 93  94         public static DateTime ToDateTime(this object value) 95         { 96             DateTime result = default(DateTime); 97             if (value.IsNotNull()) 98             { 99                 DateTime.TryParse(value.ToString(), out result);100             }101             return result;102         }103     }104 }

 

我会持续的记录个人类库诞生的过程。

以同步至:

转载地址:http://kogya.baihongyu.com/

你可能感兴趣的文章
Java集合---HashMap源码剖析
查看>>
SQL优化技巧
查看>>
thead 固定,tbody 超出滚动(附带改变滚动条样式)
查看>>
Dijkstra算法
查看>>
css 动画 和 响应式布局和兼容性
查看>>
csrf 跨站请求伪造相关以及django的中间件
查看>>
MySQL数据类型--与MySQL零距离接触2-11MySQL自动编号
查看>>
生日小助手源码运行的步骤
查看>>
Configuration python CGI in XAMPP in win-7
查看>>
bzoj 5006(洛谷 4547) [THUWC2017]Bipartite 随机二分图——期望DP
查看>>
CF 888E Maximum Subsequence——折半搜索
查看>>
欧几里德算法(辗转相除法)
查看>>
面试题1-----SVM和LR的异同
查看>>
MFC控件的SubclassDlgItem
查看>>
如何避免历史回退到登录页面
查看>>
《图解HTTP》1~53Page Web网络基础 HTTP协议 HTTP报文内的HTTP信息
查看>>
unix环境高级编程-高级IO(2)
查看>>
树莓派是如何免疫 Meltdown 和 Spectre 漏洞的
查看>>
雅虎瓦片地图切片问题
查看>>
HTML 邮件链接,超链接发邮件
查看>>