【C#】集合和字典的基础知识及基本应用

让我们深入探讨一下C#中的集合(Collection)和字典(Dictionary),并提供详细的示例。

 

集合

在C#中,集合是一组对象的容器。常用的集合类型有List<T>、Queue<T>、Stack<T>等。我们将详细介绍其中的几个。

 

1. List

List<T>是存储相同类型的元素的一个动态数组,可以随时添加或移除元素。

 

示例:

 

using System;

using System.Collections.Generic;

 

class Program

{

    static void Main()

    {

        // 创建一个列表并添加元素

        List<int> numbers = new List<int>();

        numbers.Add(1);

        numbers.Add(2);

        numbers.Add(3);

 

        Console.WriteLine("List of numbers:");

        foreach (int number in numbers)

        {

            Console.Write(number + " ");

        }

 

        // 修改和删除元素

        numbers[0] = 10; // 修改第一个元素

        numbers.RemoveAt(1); // 删除索引为1的元素

 

        Console.WriteLine("\nModified list of numbers:");

        foreach (int number in numbers)

        {

            Console.Write(number + " ");

        }

    }

}

 

2. Queue

Queue<T>是一个队列,采用先进先出(FIFO)的原则来存储和检索数据。

 

示例:

 

using System;

using System.Collections.Generic;

 

class Program

{

    static void Main()

    {

        // 创建一个队列并添加元素

        Queue<int> queue = new Queue<int>();

        queue.Enqueue(1);

        queue.Enqueue(2);

        queue.Enqueue(3);

 

        Console.WriteLine("Queue of numbers:");

        while (queue.Count > 0)

        {

            int number = queue.Dequeue();

            Console.Write(number + " ");

        }

    }

}

 

3. Stack

Stack<T>是一个栈,采用后进先出(LIFO)的原则来存储和检索数据。

 

示例:

 

using System;

using System.Collections.Generic;

 

class Program

{

    static void Main()

    {

        // 创建一个栈并添加元素

        Stack<int> stack = new Stack<int>();

        stack.Push(1);

        stack.Push(2);

        stack.Push(3);

 

        Console.WriteLine("Stack of numbers:");

        while (stack.Count > 0)

        {

            int number = stack.Pop();

            Console.Write(number + " ");

        }

    }

}

 

字典

字典是一种键值对(Key-Value Pair)集合,每个元素都有一个唯一的键来表示它。

 

Dictionary<TKey, TValue>

Dictionary<TKey, TValue>是一个无序的键值对集合。常用的操作包括添加、删除和查找元素。

 

示例:

 

using System;

using System.Collections.Generic;

 

class Program

{

    static void Main()

    {

        // 创建一个字典并添加元素

        Dictionary<string, int> ages = new Dictionary<string, int>();

        ages.Add("Alice", 25);

        ages.Add("Bob", 30);

 

        Console.WriteLine("Dictionary of names and ages:");

        foreach (var item in ages)

        {

            Console.WriteLine($"Name: {item.Key}, Age: {item.Value}");

        }

 

        // 修改和删除元素

        if (ages.ContainsKey("Alice"))

        {

            ages["Alice"] = 26; // 修改值

        }

        

        if (ages.ContainsKey("Charlie"))

        {

            ages.Remove("Charlie"); // 删除键为"Charlie"的元素(如果存在)

        }

 

        Console.WriteLine("\nModified dictionary of names and ages:");

        foreach (var item in ages)

        {

            Console.WriteLine($"Name: {item.Key}, Age: {item.Value}");

        }

    }

}

通过这些示例,你可以看到集合和字典在C#中的基本用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值