C#泛型

Posted KevinSteven

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#泛型相关的知识,希望对你有一定的参考价值。

定义:通过参数化类型来实现在同一份代码上操作多种数据类型的技术。利用“参数化类型”将类型抽象化,从而实现灵活的复用。

优点

1、提高了代码的复用性

2、提高了性能,指定类型,解决了类型的转换,避免了拆箱与装箱

3、比较安全

格式:声明一个泛型的方法,方法名后面需要一个<T>,其中字母T不是固定的,可以使用其他字母。

T相当于占了一个位置,又相当于是一个代表了一个数据类型的参数占位符

示例代码:

public override void ChildLoadData(string path)

List<Model_CustomerInfo> list = GetList(model, path);
foreach (Model_CustomerInfo model in list)

this.DataList.Add(model);

 

public override void ChildLoadData(string path)

List<Model_CustomerPerson> list = GetList(model, path);
foreach (Model_CustomerPerson model in list)

this.DataList.Add(model);

 

public static List<T> GetList<T>(T child, string FilePath)

List<T> list = new List<T>();
if (!File.Exists(FilePath))

return list;

XmlSerializer reader = new XmlSerializer(typeof(List<T>));
System.IO.StreamReader file = new System.IO.StreamReader(FilePath);
try

list = (List<T>)reader.Deserialize(file);

catch (Exception ex)

SystemInfoManager.SaveMessageErr("【" + FilePath + "】提取数据异常:" + ex.Message);

finally

file.Close();

return list;

 

C# 泛型

概念:

  泛型是C# 2.0发布的

  类通过new 产生不同的对象。泛型是传入 类 来产生确定的 类型。怎么解释呢,多写代码就好了,看文字解释操蛋的很。

  泛型的安全检查是在编译时,不是在运行时。

  C#为我们提供了5种泛型:类、结构、接口、委托和方法

  泛型的约束:where T:结构(值类型),where T:类,where T:new() 公共无参数构造函数 ,where T:<基类名称>,where T:<接口名称>,where T:U 

园子里泛型详解,写的很详细

下面来看代码:

哎呀,没代码,以后碰到设计模式再过来瞅瞅。

 

以上是关于C#泛型的主要内容,如果未能解决你的问题,请参考以下文章

C# 泛型

C#泛型实例详解

《C#零基础入门之百识百例》(八十一)泛型概念介绍 -- 泛型类/结构/接口/委托

C#泛型编程

c# 泛型学习

记录C#泛型