• 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 Program
    10     {
    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 }

     

     

      

     

  • 相关阅读:
    opencv-霍夫直线变换与圆变换
    opencv-角点检测之Harris角点检测
    opencv-图像形态学之开运算、闭运算、形态学梯度、顶帽、黑帽合辑
    opencv-图像形态学之膨胀腐蚀
    MFC-按行读取TXT数据
    MFC-CString与int互相转化
    转-C++宏定义详解
    转-pycharm建立项目
    转-Windows下anaconda简单使用教程
    CSU 1556 Jerry's trouble
  • 原文地址:https://www.cnblogs.com/menglin2010/p/5216666.html
Copyright © 2020-2023  润新知