• C#基础入门 八


    C#基础入门 八

    泛型

    • C#中的泛型能够将类型作为参数来传递,即在创建类型时用一个特定的符号,如“T”来作为一个占位符,代替实际的类型,等待实例化时用一个实际的类型来代替。
    public class Test<T>
    {
    	public void Swap(T a,T b)
    	{
    	}
    }
    
    • 使用泛型类型可以最大限度的重用代码、保护类型的安全以及提高性能
    • 降低了强制转换或装箱操作的成本或风险、可以对泛型进行约束以访问特定数据类型的方法
    • 实例化:Test<int> test1 = new Test<int>();
    • 注意:类型参数并不是只有一个,可以有多个,类型参数可以是编译器识别的任何类型,类型参数的名字不能随便起,不能重名。
    public class Test<T,U>
        {
            public void Swap(T a, U b)
            {
    
            }
        }
    class MainClass
        {
            
            public static void Main(string[] args)
            {
                Test<int,double> test1 = new Test<int,double>();
    			test1.Swap(1, 2.33);
            }
               
        }
    
    • public class Test<T>where T:struct代表类型参数T只能是值类型。public class Test<T>where T:class代表类型参数T只能是引用类型。

    泛型类和泛型方法

    • 泛型类封装不是特定于具体数据类型的操作,泛型类最常用语集合,像从集合中添加和移除项这样的操作都以大体上相同的方式执行,与所存储数据的类型无关。
    • 创建泛型类的过程:从一个现有的具体类开始,逐一将每个类型更改为类型参数,直至达到通用化和可用性的最佳平衡。
    class BaseNode
    {
    	int a;int b;
    }
    class BaseNodeGeneric<T>
    {
    	T a;T b;
    }
    
     public class Person
        {
            public string name;
            public int age;
            public char sex;
            public string Print(string c){
                return c;
            }
    	}
    下一步:
    public class Person<S,I,C>
        {
            public S name;
            public I age;
            public C sex;
            public S Print(S c){
                return c;
            }
        }
        class MainClass
        {
            public static void Main(string[] args)
            {
                Person<string, int, char> person = new Person<string, int, char>();
                Console.WriteLine(person.Print("zxh"));
            }           
        }
    
  • 相关阅读:
    分式函数的变换源
    分式之殇
    两条直线的位置关系
    数列专题思维导图
    数列通项公式思维导图
    函数与导数思维导图
    三角函数思维导图
    函数与初等函数思维导图
    集合思维导图
    npm包发布正式和测试版
  • 原文地址:https://www.cnblogs.com/senlinmilelu/p/8449037.html
Copyright © 2020-2023  润新知