C# 教程:第十章:泛型编程

1. 泛型类

泛型类允许你定义一个类,它可以处理任何数据类型,而不是仅限于一种类型。这使得代码更灵活和可重用。

  • 定义泛型类

    public class GenericClass<T> {
        private T data;
    
        public GenericClass(T value) {
            data = value;
        }
    
        public T GetData() {
            return data;
        }
    
        public void SetData(T value) {
            data = value;
        }
    }
    
  • 使用泛型类

    GenericClass<int> intInstance = new GenericClass<int>(10);
    Console.WriteLine(intInstance.GetData());
    
    GenericClass<string> stringInstance = new GenericClass<string>("Hello");
    Console.WriteLine(stringInstance.GetData());
    

在这个例子中,GenericClass<T> 是一个泛型类,可以处理任何类型的数据。在创建实例时,通过指定类型参数,泛型类可以处理具体的数据类型。

2. 泛型方法

泛型方法允许你在方法级别上使用泛型,定义一个可以处理多种类型的方法。

  • 定义泛型方法

    public class GenericMethodClass {
        public void Print<T>(T value) {
            Console.WriteLine(value);
        }
    }
    
  • 使用泛型方法

    GenericMethodClass gmc = new GenericMethodClass();
    gmc.Print<int>(10);
    gmc.Print<string>("Hello");
    gmc.Print<double>(3.14);
    

在这个例子中,Print<T> 是一个泛型方法,可以接受任何类型的参数并打印出来。

3. 常用泛型集合(List, Dictionary<TKey, TValue>)

泛型集合类提供了处理不同类型集合的方法,是 C# 中非常常用的集合类型。

  • List
    List<T> 是一个动态数组,可以存储同一类型的对象。

    • 创建和使用 List

      List<int> intList = new List<int>();
      intList.Add(1);
      intList.Add(2);
      intList.Add(3);
      
      foreach (int item in intList) {
          Console.WriteLine(item);
      }
      
    • 常用方法

      • Add(T item): 向列表添加元素。
      • Remove(T item): 从列表中移除元素。
      • Count: 获取列表中的元素数量。
  • Dictionary<TKey, TValue>
    Dictionary<TKey, TValue> 是一个键值对集合,用于存储具有唯一键的元素。

    • 创建和使用 Dictionary

      Dictionary<int, string> dict = new Dictionary<int, string>();
      dict.Add(1, "One");
      dict.Add(2, "Two");
      dict.Add(3, "Three");
      
      foreach (KeyValuePair<int, string> kvp in dict) {
          Console.WriteLine("Key: {0}, Value: {1}", kvp.Key, kvp.Value);
      }
      
    • 常用方法

      • Add(TKey key, TValue value): 向字典中添加键值对。
      • Remove(TKey key): 从字典中移除指定键的元素。
      • ContainsKey(TKey key): 判断字典是否包含指定键。
      • TryGetValue(TKey key, out TValue value): 尝试获取指定键的值。

总结

  • 泛型类:通过定义泛型类,代码可以处理不同类型的数据,使代码更灵活和可重用。
  • 泛型方法:泛型方法允许在方法级别上使用泛型,处理不同类型的参数。
  • 常用泛型集合List<T>Dictionary<TKey, TValue> 是 C# 中非常常用的泛型集合,提供了灵活、高效的集合操作方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风不归Alkaid

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值