C# 东西类--范例转换的泛型要领【C#.Net教程】,C# ,工具类,类型转换
作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:44评论:0
导读:C#东西类--范例转换的泛型要领usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;...
C# 东西类--范例转换的泛型要领
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; namespace LinqPractice { class Utility { public static T ConvertDataRow<T>(DataRow dr, string columnName,T defaultValue) { if (dr.Table.Columns.Contains(columnName)) { return ConvertType<T>(dr[columnName],defaultValue); } return default(T); } /// <summary> /// 泛型数据范例转换 /// </summary> /// <typeparam name="T">自定义数据范例</typeparam> /// <param name="value">传入须要转换的值</param> /// <param name="defaultValue">默认值</param> /// <returns></returns> public static T ConvertType<T>(object value,T defaultValue) { try { return (T)ConvertToT<T>(value,defaultValue); } catch { return default(T); } } /// <summary> /// 转换数据范例 /// </summary> /// <typeparam name="T">自定义数据范例</typeparam> /// <param name="myvalue">传入须要转换的值</param> /// <param name="defaultValue">默认值</param> /// <returns></returns> private static object ConvertToT<T>(object myvalue,T defaultValue) { TypeCode typeCode = System.Type.GetTypeCode(typeof(T)); if (myvalue != null) { string value = Convert.ToString(myvalue); switch (typeCode) { case TypeCode.Boolean: bool flag = false; if (bool.TryParse(value, out flag)) { return flag; } break; case TypeCode.Char: char c; if (Char.TryParse(value, out c)) { return c; } break; case TypeCode.SByte: sbyte s = 0; if (SByte.TryParse(value, out s)) { return s; } break; case TypeCode.Byte: byte b = 0; if (Byte.TryParse(value, out b)) { return b; } break; case TypeCode.Int16: Int16 i16 = 0; if (Int16.TryParse(value, out i16)) { return i16; } break; case TypeCode.UInt16: UInt16 ui16 = 0; if (UInt16.TryParse(value, out ui16)) return ui16; break; case TypeCode.Int32: int i = 0; if (Int32.TryParse(value, out i)) { return i; } break; case TypeCode.UInt32: UInt32 ui32 = 0; if (UInt32.TryParse(value, out ui32)) { return ui32; } break; case TypeCode.Int64: Int64 i64 = 0; if (Int64.TryParse(value, out i64)) { return i64; } break; case TypeCode.UInt64: UInt64 ui64 = 0; if (UInt64.TryParse(value, out ui64)) return ui64; break; case TypeCode.Single: Single single = 0; if (Single.TryParse(value, out single)) { return single; } break; case TypeCode.Double: double d = 0; if (Double.TryParse(value, out d)) { return d; } break; case TypeCode.Decimal: decimal de = 0; if (Decimal.TryParse(value, out de)) { return de; } break; case TypeCode.DateTime: DateTime dt; if (DateTime.TryParse(value, out dt)) { return dt; } break; case TypeCode.String: if (!string.IsNullOrEmpty(value)) { return value.ToString(); } break; } } return defaultValue; } } }
以上就是C# 东西类--范例转换的泛型要领的内容,更多相关内容请关注ki4网(www.ki4.cn)!
相关推荐
- java类型转换及其规则介绍_JAVA教程,java,类型转换
- C#对XML读写的代码实例【XML教程】,C#,XML读写
- C#中经由过程xpath查找xml的指定元素的代码实例【XML教程】,C#,xpath,xml
- C#怎样盘算2个字符串类似度的示例代码分享【C#.Net教程】,C#,字符串,相似度
- 详解C#罕见运用函数的实例总结【C#.Net教程】,C#,应用函数
- C#剖析XML文件的代码实例分享【C#.Net教程】,C#,XML
- C# 怎样设置体系的默许打印机的简朴代码示例【C#.Net教程】,C#,打印机
- 详解C#程序员开辟WinForm必需晓得的Window音讯大全的示例代码【C#.Net教程】,C#,WinForm,Window
- C# HttpHandler 异步监听要求的代码详解【C#.Net教程】,C# ,HttpHandler ,异步监听
- C# Json 序列化与反序列化二【C#.Net教程】,C#,序列化,反序列化
你 发表评论:
欢迎- .Net教程排行
-
- 1案例分享c++ map的运用和 查找机能测试【C#.Net教程】,性能,map,c++
- 2c#怎样运用?c#的基础语法【C#.Net教程】,c#,关键字
- 3细致引见C# string花样的日期时候字符串转为DateTime范例的要领【C#.Net教程】,C#,string,DateTime
- 4详解ASP.NET中衔接数据库设置要领【C#.Net教程】,ASP.NET,数据库,配置
- 5.net和c#有什么区别【C#.Net教程】,.net,c#
- 6C# DataSet机能最好实践【C#.Net教程】,C#,DataSet
- 7asp .net 面试题及答案分享【C#.Net教程】,.net,自己,整理,问题,面试
- 8C#_挪用封装的一个类完成导出Excel表格的功用【C#.Net教程】,C# Excel表格
- 9伪代码是什么?如何写一个伪代码?【C#.Net教程】,伪代码,c语言,算法
- 最新文章
- 广而告之