• String转成任意基本类型


    尝试别的方法,一直找不到好的。

            /// <summary>
            
    /// 转成基本的类型(支持可空类型)
            
    /// </summary>
            public static T Convert<T>(this string str, T defaultValue)
            {
                
    if (String.IsNullOrEmpty(str))
                    
    return defaultValue;

                var type 
    = typeof(T);


                var typeName 
    = type.FullName;

                
    if (type.Name == "Nullable`1")
                {
                    var m 
    = Regex.Match(typeName, @"((?<=\[)(\w+.\w+)(?=,))");

                    type 
    = Type.GetType(m.Value);
                }


                MethodInfo method 
    = null;
                
    foreach (var m in type.GetMethods())
                {
                    
    if (m.Name == "Parse" && m.GetParameters().Length == 1)
                    {
                        method 
    = m;
                        
    break;
                    }
                }

                var result 
    = defaultValue;
                
    try
                {
                    
    if (method != null)
                        result 
    = (T)method.Invoke(nullnew[] { str });
                }
                
    catch
                {
                    
    return defaultValue;
                }

                
    return result;
            }
  • 相关阅读:
    [Js-JDBC]事务
    [Js-JDBC]SQL注入及解决,Statement与PreparedStatement
    [Js-Java SE]IO+Properties配置文件
    [Js-Java SE]可变长参数
    [Js-Java SE]线程同步(加锁)(synchronized,守护进程,死锁,计时器)
    [Js-MySQL]函数
    [Js-MySQL]运算符优先级
    2015年3月30日
    Maven知识点一览
    记一次MySQL(5.7版本)数据库的主从同步和备份
  • 原文地址:https://www.cnblogs.com/mad/p/1625342.html
Copyright © 2020-2023  润新知