Nullable<T>可空值类型返回值处理

Nullable<T>可空值类型返回值处理:

 

    public class StructNullable
    {
        /// <summary>
        /// 返回""或者其值
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="t"></param>
        /// <returns></returns>
        public static string GetNullOrValue<T>(T t)
        {
            return t == null ? "" : t.ToString();
        }

        /// <summary>
        /// 返回""或者其值的格式化
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="t"></param>
        /// <param name="format">格式化</param>
        /// <returns></returns>        
        public static string GetNullOrValue<T>(T t, string format) where T : struct
        {
            string res="";
            if (t is DateTime)
            {
                res = Convert.ToDateTime(t).ToString(format);
            }
            else if(t is int)
            {
                res = Convert.ToInt32(t).ToString(format);
            }
            else if (t is byte)
            {
                res = Convert.ToByte(t).ToString(format);
            }
            else if (t is double)
            {
                res = Convert.ToDouble(t).ToString(format);
            }
            else if (t is float)
            {
                res = Convert.ToSingle(t).ToString(format);
            }
            else if (t is bool)
            {
                res = Convert.ToBoolean(t).ToString();
            }
            else if (t is decimal)
            {
                res = Convert.ToDecimal(t).ToString(format);
            }
            return res;
        }
    }

 

posted @ 2017-05-05 11:17  花生打代码会头痛  阅读(304)  评论(0)    收藏  举报