12386人加入学习
(21人评价)
C#编程-第二季-面向对象-宇宙最简单2021最新版

制作完成于2021-10月20日 使用VS2019

价格 免费

泛型:泛型类、泛型方法

处理不同数据类型

 

使用方法:

1、在创建类的时候,使用 T来代替各种类型(例如:int、string、double等等)

class ClassA<T>{ };

2、将类中声明的变量改成T(可以是任意类型)

3、实例化的时候,指定一个类型,后面的执行就会使用这个类型来进行处理

ClassA<int> a = new ClassA<int>();

 

注意:课程中的例子,将两个参数相加,但实际上T类型的无法相加,所以通过转换成dynamic来处理

[展开全文]

泛型使用原因:省去因类型不一样的重复代码,例如写一个加法类,返回类型为整形,若想用小数进行加法,则需要重新写类型。

泛型使用:class 类名<T>,类中所有要是使用到的类型换为T

dynamic类型:查阅资料C# - 解析的万金油dynamic_c# 獲取dynamic-CSDN博客

[展开全文]

class ClassA<T>

{

  private T a;

  private T b;

  public ClassA(T a , T b)

  {

    this.a = a;

    this.b = b;

  }

  public string GetSum()

  {

  dynamic num1 = a;

  dynamic num2 = b;

  }

}

[展开全文]

dynamic:动态类型, 动态类型可以进行+运算

 

 

 

而 泛型  不可以使用+运算。

[展开全文]
 class ClassA<T>
    {
        private T a;
        private T b;

        public ClassA(T a, T b)
        {
            this.a = a;
            this.b = b;
        }
        public T GetSum()
        {
            dynamic num1 = a;
            dynamic num2 = b;
            return (T)(num1+num2);
        }
    }
static void test02()
        {
            ClassA<int> c1 = new ClassA<int>(45,65);
            int res = c1.GetSum();
            Console.WriteLine(res);
            ClassA<string> c2 = new ClassA<string>("hello ", "world");
            string str1 = c2.GetSum();
            Console.WriteLine(str1);
        }
        
        static void Main(string[] args)
        {
            //test01();
            test02();
        }

 

[展开全文]

授课教师

问问题加入A计划,有专门负责答疑的老师哦!!!

课程特色

下载资料(1)
视频(60)