C#泛型(二)
<1>.泛型方法
以前文章说到用一个泛型类 SortHelper 来做一个冒泡排序的处理,下面回顾一下之前的代码:
public class SortHelper<T> where T:IComparable
{
public void BubbleSort(T[] arr)
{
int length = arr.Length;
for (int i = 0; i < length-1; i++)
{
for (int j = 0; j < length-1-i; j++)
{
if (arr[j].CompareTo(arr[j+1])>0)
{
T temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
这里我们为了调用 BubbleSort,而将参数T传递给类 SortHelper,假如 SortHelper 类中,除了 BubbleSort 方法之外,还有其他的没有使用到参数T的方法 比如:
public class SortHelper<T> where T:IComparable
{
public void BubbleSort(T[] arr)
{
//省略
} public void OtherMethod1()
{
//省略
}
//此处省略N个OtherMethod
}
这里有 N 个 OtherMethod方法。
测试-调用 OtherMethod1:
static void Main(string[] args)
{
SortHelper<int> UserOtherMethod = new SortHelper<int>();
UserOtherMethod.OtherMethod1();
}
在实例化 UserOtherMethod 对象时 必须给 SortHelper 传一个类型参数 这里是 int 。显然这中情况下,我们仅仅是为了 BubbleSort 方法正常使用而定义泛型类,从而强迫其他使用 SortHelper 类其它方法
实例传递一个参数,很明显这是没必要的,于是这个时候 ’泛型方法‘ 就出现了 ,修改代码如下:
public class SortHelper2
{
public void BubbleSort<T>(T[] arr) where T:IComparable
{
int length = arr.Length;
for (int i = 0; i < length - 1; i++)
{
for (int j = 0; j < length - 1 - i; j++)
{
if (arr[j].CompareTo(arr[j + 1]) > 0)
{
T temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
总结:
泛型方法和普通方法没多大区别,仅仅在方法名后面加了“<T>”, 接着是括号里面的参数,最后是限定语句。
上述的这种情况,我们通过使用泛型方法,就可以避免每次使用泛型类传参了。
<2>.泛型接口
自己写了一个 “cat” 类,并调用了一个接口“IComparable” 代码如下:
public class cat:IComparable
{
public string name;
public int price; public int CompareTo(object obj)
{
cat catT = (cat)obj;
return this.price.CompareTo(catT.price);
}
public cat(string name, int price)
{
this.price = price;
this.name = name;
}
}
这里粉红色标记的部分我们实现了 “IComparable” 接口的 “CompareTo” 方法 这里没有进行装箱和拆箱。
因为cat是引用类型,而且“ return this.price.CompareTo(catT.price) ”这里调用的是 price (int型) 的 ComparaTo 方法,右键对int转到定义查看代码。
这里可以清楚的看到int类型实现了 IComparable 与 IComparable<int> 这两个接口,也就是说它分别实现了这两个接口的 ComparaTo() 方法,那这里又是调用那个接口的 ComparaTo() 方法呢?
实际上这里传过来的参数是int类型,那么优先调用的是 ComparaTo(int value) 方法,这样就避免了不必要的装箱拆箱过程了。
aaarticlea/png;base64,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" alt="" />
上图中是.NET 中 int 类型实现 IComparable 接口的 ComparaTo(object value) 方法,不难看出“红箭头”标记部分是执行装箱拆箱操作的过程。
下图是 int类型实现泛型版本的 IComparable<int> 的 ComparaTo(int value) 方法,如果对2种方法进行大量重复操作,不难发现使用泛型接口实现的方法性能比较好。
aaarticlea/png;base64,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" alt="" />
总结:
程序设计中应该尽量避免装箱和拆箱操作,为了避免多次装箱拆箱造成的性能影响 ,通过上面的例子我们可以知道使用泛型接口可以有效的避免这个问题:使用IComparable<T> 而不使用 IComparable,这样可以避免值类型的装箱和取消装箱操作。
C#泛型(二)的更多相关文章
- [C# 基础知识系列]专题八: 深入理解泛型(二)
引言: 本专题主要是承接上一个专题要继续介绍泛型的其他内容,这里就不多说了,就直接进入本专题的内容的. 一.类型推断 在我们写泛型代码的时候经常有大量的"<"和"& ...
- Java 泛型 二
一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(Stri ...
- java 面向对象(三十三):泛型二 泛型在集合中的使用
1. 在集合中使用泛型之前的例子 @Test public void test1(){ ArrayList list = new ArrayList(); //需求:存放学生的成绩 list.add( ...
- Java泛型二:通配符的使用
原文地址http://blog.csdn.net/lonelyroamer/article/details/7927212 通配符有三种: 1.无限定通配符 形式<?> 2.上边界限定 ...
- C#高级编程之泛型二(泛型类型约束、类型、反射与泛型)
泛型类型约束 简言之:对泛型类型进行约束,细化,限定. MSDN的定义:泛型定义中的 where 子句指定对用作泛型类型.方法.委托或本地函数中类型参数的参数类型的约束,意思就是可以有泛型类.泛型方法 ...
- Java(7)泛型
目录 一.泛型概述 1.什么是泛型 2.为什么用泛型 3.在集合中使用泛型 二.自定义泛型结构 1.泛型类.接口 2.泛型方法 三.举例泛型类和泛型方法的使用场景 1.泛型类举例: 2.泛型方法举例 ...
- 理解C#泛型运作原理
前言 我们都知道泛型在C#的重要性,泛型是OOP语言中三大特征的多态的最重要的体现,几乎泛型撑起了整个.NET框架,在讲泛型之前,我们可以抛出一个问题,我们现在需要一个可扩容的数组类,且满足所有类型 ...
- javaweb——总结
day01XML上 1.XML的作用 2.XML的基本语法 3.DTD约束 4.DTD的基本语法(看懂DTD就ok) 5.XML的解析方式:原理 6.JAXP的DO ...
- JAVA基础学习day15--集合二 TreeSet和泛型
一.TreeSet 1.1.TreeSet Set:hashSet:数据结构是哈希表.线程是非同步的. 保证元素唯一性的原理:判断元素的HashCode值是否相同. 如果 ...
- Java学习笔记(二一)——Java 泛型
[前面的话] 最近脸好干,掉皮,需要买点化妆品了. Java泛型好好学习一下. [定义] 一.泛型的定义主要有以下两种: 在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个 ...
随机推荐
- 关于64位WIN7下正确建立JAVA开发环境(转
1.下载并安装JDK(地址:http://www.oracle.com/technetwor ... ownload-400750.html 先在“Accept License Agreeme ...
- Farseer.Net
Farseer.Net V0.2 ORM开源框架 目录 http://www.cnblogs.com/steden/archive/2013/01/22/2871160.html V1.0教程:htt ...
- 如何判断一个Div是否可视区域,判断div是否可见
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- c# xml的增删改查操作 xmlDocument 的用法
1.将xml转换为DataTable string path = "";//xml的位置StringReader sr = null;XmlTextReader xmlReader ...
- ThoughtWorks微服务架构交流心得
ThoughtWorks微服务架构交流心得: (1)<人月神话>中谈到软件开发没有银弹,根源在于软件所解决的领域问题本身固有的复杂性,微服务正是从领域问题角度上进行服务拆分,来降低软件 ...
- async 和await
这个是.NET 4.5的特性,所以要求最低.NET版本为4.5. 看很多朋友还是使用的Thread来使用异步多线程操作,基本上看不见有使用Async.Await进行异步编程的.各有所爱吧,其实都可以. ...
- [转载]DataSet导入到Excel文件
/// <summary> /// 将数据导入到Excel /// </summary> /// <param name="ds"& ...
- Linux 远程桌面控制
我现在知道有两种方式: 1.直接使用Gnome桌面的远程控制功能.在服务器端登录到gnome桌面,然后在系统菜单中打开远程桌面配置,勾选允许远程即可.这种方式客户端和服务器的两种操作将保持同步,也就是 ...
- vim命令/压缩和解压命令
gzip命令 -d 解压 -# 1 为最快 但容量问题 . 9为最好 .6为默认 gzip install.log 比较好理解,windows里面类似的,记住zip 和unzip是可以目录或者文件解 ...
- uva 10491
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...