最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
what is new in c sharp 2.0--study from msdn
时间:2022-07-02 11:05:55 编辑:袖梨 来源:一聚教程网
http://www.m*icr*oso*ft.com/china/msdn/library/langtool/vcsharp/vbconcprogramminglanguagefuturefeatures.mspx
1. Generic Type 泛型
定义一个MyList,对这个MyList类设定方法,方法中,使用T而不是具体的类型float或者int什么的,忽略了类型的区别
MyList list1 = new MyList();
MyList list2 = new MyList();
MyList list3 = new MyList();
可以使用在Class、Struct和Interface
可以在模板的定义中,具体的定义T属于的类型,
where T : struct T是value type
where T : class T是reference type
where T : new() T具有一个无参数的构造函数
where T : T必须是base class name设定的类或者是他的继承类
where T : T必须是interface name设定的接口或者它的实现类
我的疑问是,这个Generic Type的意义何在?如果说忽略了类型,可是,如果没有类型设定,那么T就是object,只能够调用很少的一些方法,如果设定了类型,那么为什么我不直接写呢?何必还要绕一个圈子呢?
我的回答是,
第一,对于List这样的泛型,如果不使用泛型,要达到目的,就要使用一个array或者是list,如果是array,那么长度就是限定的,不是动态的,这不好,如果是list,那么类型是不知道的,需要在程序中进行编码进行转换,所以,使用了泛型,对么?
第二,还是保证了一种类型上面的忽略,算法的统一
2. Interator 迭代
Interator是一个方法,允许foreach在类上进行操作,Iterator代码定义了foreach循环遍历集合中的元素时的返回类型。
1. Generic Type 泛型
定义一个MyList
MyList
MyList
MyList
可以使用在Class、Struct和Interface
可以在模板的定义中,具体的定义T属于的类型,
where T : struct T是value type
where T : class T是reference type
where T : new() T具有一个无参数的构造函数
where T :
where T :
我的疑问是,这个Generic Type的意义何在?如果说忽略了类型,可是,如果没有类型设定,那么T就是object,只能够调用很少的一些方法,如果设定了类型,那么为什么我不直接写呢?何必还要绕一个圈子呢?
我的回答是,
第一,对于List这样的泛型,如果不使用泛型,要达到目的,就要使用一个array或者是list,如果是array,那么长度就是限定的,不是动态的,这不好,如果是list,那么类型是不知道的,需要在程序中进行编码进行转换,所以,使用了泛型,对么?
第二,还是保证了一种类型上面的忽略,算法的统一
2. Interator 迭代
Interator是一个方法,允许foreach在类上进行操作,Iterator代码定义了foreach循环遍历集合中的元素时的返回类型。
相关文章
- 迷雾庇护所好玩吗 迷雾庇护所玩法介绍 03-24
- 三国百将牌许褚技能详解与实战玩法攻略 03-24
- 斗破苍穹漫画在哪看全集-稳定访问方式与阅读平台推荐 03-24
- 哔咔头像改不了吗-picacg头像修改问题 03-24
- 成品短视频软件推荐下载app-成品短视频软件手机版下载安装 03-24
- 三国百将牌马超玩法攻略 三国百将牌马超技能搭配与实战技巧 03-24