让我们深入探讨一下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#中的基本用法。