zoukankan      html  css  js  c++  java
  • 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 }

     

     

      

     

  • 相关阅读:
    Leetcode 1489找到最小生成树李关键边和伪关键边
    Leetcode 113 路径总和 II
    hdu 1223 还是畅通工程
    hdu 1087 Super Jumping! Jumping! Jumping!
    hdu 1008 Elevator
    hdu 1037 Keep on Truckin'
    湖工oj 1241 畅通工程
    湖工oj 1162 大武汉局域网
    hdu 2057 A + B Again
    poj 2236 Wireless Network
  • 原文地址:https://www.cnblogs.com/menglin2010/p/5216666.html
Copyright © 2011-2022 走看看