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 }

     

     

      

     

  • 相关阅读:
    PS和AI软件差别
    JS实现转动随机数抽奖的特效代码
    项目---考评系统排课算法分析
    UVA 193 Graph Coloring 图染色 DFS 数据
    中英文对照 —— 法律
    中英文对照 —— 法律
    中英文对照 —— 电影与话剧、歌剧
    中英文对照 —— 电影与话剧、歌剧
    matlab 正态分布相关 API
    matlab 正态分布相关 API
  • 原文地址:https://www.cnblogs.com/menglin2010/p/5216666.html
Copyright © 2011-2022 走看看