Jupyter AI

26 集合和数组之集合简介

📅 发表日期: 2024年8月13日

分类: 🔷C# 入门

👁️阅读: --

在前一篇文章中,我们讨论了 C# 中数组的使用,包括数组的创建、初始化、遍历等操作。在这一篇中,我们将聚焦于 C# 中的集合(Collections)。集合与数组相比,提供了更灵活的数据管理方式。下面,我们将介绍集合的基本概念以及常见的集合类型。

集合的概念

在 C# 中,集合是一个可以存储多个元素的数据结构,集合里的元素可以是不同的类型。集合提供了更多的操作方法,如添加、删除和查找元素等,较之数组,集合的大小更具动态性。

集合大致可以分为两类:

  1. 非泛型集合:这些集合不使用泛型,可以存储任何类型的对象。
  2. 泛型集合:这些集合采用泛型,能够高效地存储特定类型的对象,编译时便可检查类型,降低运行时错误的概率。

集合的基本类型

C# 中有多种集合类型,以下是一些比较常用的集合:

1. ArrayList

ArrayList 是一种非泛型集合,它可以存放任何对象类型,且数组的大小是可变的。虽然使用方便,但容易引入类型不一致的问题。

示例代码:

using System;
using System.Collections;

class Program
{
    static void Main()
    {
        ArrayList arrayList = new ArrayList();
        
        // 向 ArrayList 中添加元素
        arrayList.Add(1);
        arrayList.Add("Hello");
        arrayList.Add(3.14);

        // 遍历 ArrayList
        foreach (var item in arrayList)
        {
            Console.WriteLine(item);
        }
    }
}

2. List<T>

List<T> 是一种泛型集合,能确保存储的都是同种类型的对象。使用 List<T> 可以避免类型转换问题,提高类型安全性。

示例代码:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int>();
        
        // 向 List 中添加元素
        numbers.Add(1);
        numbers.Add(2);
        numbers.Add(3);

        // 遍历 List
        foreach (int number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

3. Dictionary<TKey, TValue>

Dictionary<TKey, TValue> 是一种键值对集合,可以通过键快速访问值。由于它使用哈希表,因此查找速度非常快。

示例代码:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        Dictionary<string, int> ageDictionary = new Dictionary<string, int>();
        
        // 向 Dictionary 中添加元素
        ageDictionary.Add("Alice", 30);
        ageDictionary.Add("Bob", 25);

        // 遍历 Dictionary
        foreach (var kvp in ageDictionary)
        {
            Console.WriteLine($"{kvp.Key} 的年龄是 {kvp.Value}");
        }
    }
}

总结

本篇文章简要介绍了 C# 集合的基本概念和几种常见的集合类型,包括 ArrayListList<T>Dictionary<TKey, TValue>。对比于数组,集合更为灵活且功能强大,使得数据管理变得更为简便。对于小白来说,理解并掌握集合的基本使用,是进一步学习 C# 语言的重要基础。

在下一篇文章中,我们将深入讨论 List<T> 的使用方法,包括增加、删除、查找等操作,敬请期待!