2023/11/7——C#——泛型和Object类型的区别、泛型约束、ArrayList 可变数组 、C#中的Dictionary字典类....

本文介绍了C#中的泛型使用,包括泛型类、方法和接口,强调了泛型在提高代码复用性和类型安全性上的作用。接着讨论了Object类型,探讨了装箱拆箱、多态性以及使用Object类型的优势和缺点。接着讲解了泛型约束的五种类型,以及ArrayList的优缺点,推荐使用泛型集合List替代ArrayList。最后详细阐述了Dictionary字典类的特性,强调其快速查找和泛型性质。
摘要由CSDN通过智能技术生成

1.泛型的使用

        泛型是一种编程概念,允许你编写可以处理不特定数据类型的代码,从而提高代码的可重用性和类型安全性。泛型允许你编写通用的算法、数据结构和方法,以适应各种不同的数据类型,而不必为每种数据类型编写特定的代码。在 C# 中,泛型主要通过类型参数和泛型类、方法和接口来实现。

创建一个泛型类,其中的一个或多个类型参数允许你在实例化类时指定具体的数据类型。例如:

public class GenericList<T>
{
    private List<T> items = new List<T>();

    public void Add(T item)
    {
        items.Add(item);
    }

    public T Get(int index)
    {
        return items[index];
    }
}

创建泛型方法,这些方法可以在不同数据类型上进行操作。例如:

public T FindMax<T>(T[] array) where T : IComparable
{
    if (array.Length == 0)
        throw new InvalidOperationException("The array is empty.");

    T max = array[0];
    foreach (T item in array)
    {
        if (item.CompareTo(max) > 0)
        {
            max = item;
        }
    }
    return max;
}

创建泛型接口,以定义可以在不同数据类型上实现的方法。例如:

public interface IRepository<T>
{
    void Add(T item);
    void Delete(T item);
    T GetById(int id);
}

可以使用泛型约束来限制可以在泛型方法或泛型接口上使用的数据类型。例如,where T : IComparable 表示类型 T 必须实现 IComparable 接口。

public T FindMax<T>(T[] array) where T : IComparable
{
    // ...
}

泛型在编写通用和类型安全的代码方面非常有用。通过使用泛型,你可以在不同数据类型上实现通用算法,而不必重复编写大量相似的代码。这提高了代码的可维护性和可扩展性。

 2.Object类型的使用:

        Object 类型是许多编程语言中的通用类型,通常用于存储任意数据类型的对象。它是一种泛型类型,也称为通用类型,允许你在编程时处理各种不同类型的数据。在 C# 中,Object 类型通常被称为 System.Object,而在其他编程语言中,它可能具有不同的名称,如 ObjectAny

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值