你的位置:首页 > ASP.net教程

[ASP.net教程]1.什么是泛型和C#中泛型在Class上的实现


  • 阅读目录

     一:什么是泛型?

     二:C#中泛型在Class上的实现            

     一:什么是泛型?

    我们在编程的时候需要一个数据类型,但是在刚开始的时候还不确定这个数据类型是怎么样的,或者说对于不同的多个数据类型有相同的功能和相同的操作,又不想多次的写代码,就需要用到泛型,表示同一个操作针对不同的数据类型

   二:C#中泛型在Class上的实现
    
提高了代码的重用性
    是类型安全的,实例化整数类型new MyGenericArray<int>,不可能添加字符串类型进去
    
这个array数组可以是整数型的数组,也可以是字符串型的数组,还可以是其他数据类型的数组

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6  7 namespace Generic 8 { 9   class Program10   {11     static void Main(string[] args)12     {13       MyGenericArray<int> intArray = new MyGenericArray<int>(5);14       for(int i = 0;i < 5; i++)15       {16         intArray.SetItem(i, i * 5);17       }18       for(int i = 0;i < 5; i++)19       {20         Console.WriteLine(intArray.GetItem(i) + "");21       }22 23       MyGenericArray<char> charArray = new MyGenericArray<char>(5);24       for (int i = 0; i < 5; i++)25       {26         charArray.SetItem(i, (char)(i + 97));27       }28       for (int i = 0; i < 5; i++)29       {30         Console.WriteLine(charArray.GetItem(i) + "");31       }32 33       Console.ReadLine();34     }35   }36 37   class MyGenericArray<T>38   {39     private T[] array;40 41     public MyGenericArray(int size)42     {43       array = new T[size + 1];44     }45 46     public T GetItem(int index)47     {48       return array[index];49     }50 51     public void SetItem(int index, T value)52     {53       array[index] = value;54     }55   }56 }