鼎鼎知识库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21.泛型.md 1.4KB

泛型概述

  • 泛型不仅是C#编程语言的一部分,而且与程序集中的IL代码紧密地集成。有了泛型,就可以创建独立于被包含类型的类和方法。 泛型的优点
  • 性能
  • 类型安全性
  • 二进制代码重用
  • 代码的扩展
  • 命名约定 性能
  • 对值类型使用非泛型集合类,在把值类型转换为引用类型,和把引用类型转换为值类型时,需要进行装箱和拆箱操作。
  • 值类型存储在栈上,引用类型存储在堆上。C#类时引用类型,结构是值类型。.NET很容易把值类型转换为引用类型,所以可以在需要对象(对象是引用类型)的任意地方使用值类型。
  • 从值类型转换为引用类型称为装箱。

命名约定

  • 泛型类型的命名规则
    • 泛型类型的名称用字母T作为前缀
    • 如果没有特殊要求,泛型类型允许用任意类替代,且只使用一个泛型类型,就可以用字符T作为泛型类型的名称。 public class List<T>{} public class LinkedList<T>{}
      • 如果泛型类型有特定的要求,或者使用了两个或多个泛型类型,就应给泛型类型使用描述性的名称: public delegate void EventHandle<TEventArgs>(object sender,TEventArgs e); public delegate TOutput Converter<TInput,TOutput>(TInput from); public class SortedList<TKey,TValue>{}