• 菜鸟类库诞生记一:值类型的扩展


    自从上次一篇博客已经有两个月了,因为一些事耽搁了 - (出发前说说我的个人感想)。

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

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

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

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

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

    代码如下:

      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 }

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

    以同步至:个人文章目录索引

  • 相关阅读:
    对称二叉树
    显示图片路径问题
    爆炸的联赛模拟 8.24~8.25
    【Java基础总结】字符串
    pro、pre、test、dev环境
    开发环境、测试环境、预发布环境、生产环境的区别
    【IP】虚拟IP原理
    【版本】Spring Cloud 版本
    Zipkin
    【小笔记】小知识记录
  • 原文地址:https://www.cnblogs.com/yangcaogui/p/3484587.html
Copyright © 2020-2023  润新知