C#泛型的运用

C#泛型的运用

ID:46283368

大小:86.50 KB

页数:4页

时间:2019-11-22

C#泛型的运用_第1页
C#泛型的运用_第2页
C#泛型的运用_第3页
C#泛型的运用_第4页
资源描述:

《C#泛型的运用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、at中的泛世应用◎学习C#的时间不氏,接触泛型也就不到一个周的时间.所以看过不少高人写的文章加上自己了解的一知半解,写到这上面.我想无论怎么说,只要在编程的时候你将泛型应用到自己的程序中,即使你根木不知道IH己为什么要用它,我想这也代表你想更深入的了解C#的编程,而并不满足将自己的程序只写到if....else的程度.不过这并不意味着你会使用泛型就是髙手了,这里只是说明泛型是髙手们都喜欢用的东西.言归正传泛型在我理解就好比是一个袋了,对以装下任何东西.我们当然不希望用这个袋了又装好吃的乂要装垃圾.打一个更形象的比方,去

2、超市买一包饼干,当你结帐的时候服务员会给你一个袋子装这包饼干.但是对丁•我们來说饼干与饼干的包装袋都装到了这个人袋子里,而饼干是我们所需要的,包装袋子就是垃圾.这时就会引出一个概念,“装箱、拆箱“.将包装袋装饼干的过程就叫”装箱",而我们拆包装吃饼干的过程叫”拆箱".显然这对于吃饼干來说是非常浪费时间的.所以我们可能会需要一个可以做白我提示的袋了,也就是说如果你想用这个袋了来装饼干,那么你用它來装糖果,它就会白动提示你,它已经被你指定成装饼干了.上面的例子虽然不太贴切,但是对丁理解泛型还是冇些帮助的.大概有以下儿个集合

3、类型:1.List,这是我们应用最多的泛型种类,它对应ArrayList集合。2.Dictionary,这也是我们平时运用比较多的泛型种类,对应Hashtable集合。3.Collection对应于CollectionBase4.ReadOnlyCollection对应于ReadOnlyCollectionBase,这是一个只读的集合。5.Queue,Stack和SortedList,它们分别对应于与它们同名的非泛型类。看一下这个类:publicclassPersoncollection:IListprivateArr

4、ayList_Persons=newArrayList();publicPersonthis[intindex]{get{return(Person)_Persons[index];}}6IpublicintAdd(Personitem)8I_Persons.Add(item);return_Persons.Count一1;10I-}publievoidRemove(Personitem)12-r1{_Persons.Remove(item);}14IobjectIList-this[intindex]15申{16^1

5、71819I20申intIList.Add(objectitem){returnAdd((Person)item);}2122voidIList.Remove(objectitem){Remove((Person)item);}get{return_Persons[index];}set{_Persons[index]=(Person)value;}232425L}2627这个类是Person类的操作类,可以自由的增加或删除Person类.如果现在要为其他的类写一个功能与这个类一样的操作类,相信只需耍将%rson类替换

6、一下就可以了•不过在了解泛型之后你就可以这样来用.Listpersons=newList();persons.Add(newPerson());Personperson二persons[0];比如,如果耍将Person类换成Employee类,只需耍像这样写.Listemployees=newList();employees.Add(newEmployee());Employeeemployee=employees[0];List是C#中已经定义好

7、的泛型类,现在我们可以口己定义它.1publieclassTypeHelper23曰{4I5申publieStringGetType(Tt){6I7Ireturn"Typeis”+t・GetType()・toString();8卜}9L}1011这里的T只是一个类型的占位符,在实际应川的吋候,将实际的类型替换掉T就可以.TypeHelpertypeHelper=newTypeHelper();typeHelper.GetType(Person);注意T只是一个占位符,实际上换上任何符号都可以,千万

8、不要任为只有TnJ以做占位符.冇的时候我们必须要约束一下实际的类型,比如以下的泛型类.publieclassCollectionHelper23曰{4l5I6I7自8I9I10I11F12L}privateTCollec=newT();publieintIndexOf(Vv){returnCollec.IndexOf(v

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。