C#泛型
求助:C#泛型这两天我在学习C#,当碰到泛型这个概念时,却有些迷茫,原来学VB.NET是也碰到过,那时觉得泛型没有
求助:C#泛型
这两天我在学习C#,当碰到泛型这个概念时,却有些迷茫,原来学VB.NET是也碰到过,那时觉得泛型没有什么用,就直接跳过去了,现在又碰到了,想下决心理解这个问题。我在网上看到泛型的例子很简单,如下:
C# code public class fan<T> { public T a; public void getdata(T a) {this.a =a ;} public T setdata() { return a; } }
我有疑问,像这样简单的情况就一个获取值设置值有必要用到泛型类去操作吗?唯一方便的就是数据的装箱和拆箱,如下:
C# code fan<int> h = new fan<int>(); h.setdata(10); //比如设置一个值10 int sum = h.getdata() + 5; //这里就不需再拆箱操作了
我看到资料上说泛型的作用有:确保代码的安全性,减少代码的重复,还有就是泛型类的类型由外部决定。我都理解,但是却不知道怎么用,实际情况下用在何处,什么情况下经常使用,就高手赐教!!
[解决办法][解决办法]继承是纵向的,泛型是横向的
[解决办法]推荐看一下 张子阳的 C#中的泛型
http://www.tracefact.net/CSharp-Programming/Generics-In-CSharp.aspx
[解决办法]這裡有很詳細的說明
http://msdn.microsoft.com/zh-cn/library/512aeb7t(v=vs.80).aspx
它用在很多地方,陣列、方法、委托、類、接口及數組您一定有機會用上,學習總是覺得很多東西沒有用,但當您遇上麻煩時,很多東西就會變的很好用。
[解决办法][解决办法]我的建议是:你可以暂且不管它的实际作用。你需要做的是动手练习,在你自己设计程序的过程中,你会逐渐发现一些规律。比如:“为什么每次我写p.A的时候都要把p.A向下转型呢?这样太麻烦了,一定有更好的办法”。