首页 > Python基础教程 >
-
C# 常用集合类型详解
C# 常用集合类型详解
在 C# 编程中,集合类型是用于存储和操作一组数据的重要数据结构。每种集合类型都有其独特的特性和适用场景。本文将详细介绍 C# 中常用的集合类型,包括 List<T>
、ArrayList
、Dictionary<TKey, TValue>
、Hashtable
、HashSet<T>
等,并通过实际示例展示它们的使用方法。
一、List<T>
集合类型
- 概述
List<T>
是一种泛型集合类型,位于 System.Collections.Generic
命名空间下。它提供了动态数组的功能,可以存储任意数量的指定类型元素,并且可以根据需要自动调整大小。
- 常见方法
-
Add(T item)
:在集合的末尾添加一个元素。 -
Insert(int index, T item)
:在指定位置插入一个元素。 -
Remove(T item)
:删除第一个与指定元素相等的元素。 -
RemoveAt(int index)
:删除指定位置的元素。 -
Clear()
:清除集合中的所有元素。 -
Count
:获取集合中元素的总数。
- 示例代码
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> fruits = new List<string>();
// 添加元素
fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Orange");
// 插入元素
fruits.Insert(1, "Grape");
// 遍历集合
foreach (var fruit in fruits)
{
Console.WriteLine(fruit);
}
// 删除元素
fruits.Remove("Banana");
fruits.RemoveAt(0);
// 清空集合
fruits.Clear();
Console.WriteLine("集合已清空");
}
}
二、ArrayList
集合类型
- 概述
ArrayList
是一种非泛型集合类型,位于 System.Collections
命名空间下。它可以存储任意类型的元素,但在类型安全性和性能方面不如泛型集合。
- 常见方法
-
Add(object value)
:在集合的末尾添加一个元素。 -
Insert(int index, object value)
:在指定位置插入一个元素。 -
Remove(object value)
:删除第一个与指定元素相等的元素。 -
RemoveAt(int index)
:删除指定位置的元素。 -
Clear()
:清除集合中的所有元素。 -
Count
:获取集合中元素的总数。
- 示例代码
using System;
using System.Collections;
class Program
{
static void Main()
{
ArrayList fruits = new ArrayList();
// 添加元素
fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Orange");
// 插入元素
fruits.Insert(1, "Grape");
// 遍历集合
foreach (var fruit in fruits)
{
Console.WriteLine(fruit);
}
// 删除元素
fruits.Remove("Banana");
fruits.RemoveAt(0);
// 清空集合
fruits.Clear();
Console.WriteLine("集合已清空");
}
}
三、Dictionary<TKey, TValue>
集合类型
- 概述
Dictionary<TKey, TValue>
是一种泛型集合类型,位于 System.Collections.Generic
命名空间下。它提供了键值对的存储和检索功能,可以根据键快速查找对应的值。
- 常见方法
-
Add(TKey key, TValue value)
:添加一个键值对。 -
Remove(TKey key)
:删除指定键的键值对。 -
ContainsKey(TKey key)
:检查集合中是否包含指定键。 -
TryGetValue(TKey key, out TValue value)
:尝试获取指定键的值。 -
Clear()
:清除集合中的所有键值对。 -
Count
:获取集合中键值对的总数。
- 示例代码
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);
ages.Add("Charlie", 35);
// 遍历集合
foreach (var age in ages)
{
Console.WriteLine($"{age.Key}: {age.Value}");
}
// 检查键是否存在
if (ages.ContainsKey("Alice"))
{
Console.WriteLine("Alice 的年龄是: " + ages["Alice"]);
}
// 删除键值对
ages.Remove("Bob");
// 清空集合
ages.Clear();
Console.WriteLine("集合已清空");
}
}
四、Hashtable
集合类型
- 概述
Hashtable
是一种非泛型集合类型,位于 System.Collections
命名空间下。它也提供了键值对的存储和检索功能,但在类型安全性和性能方面不如泛型集合。
- 常见方法
-
Add(object key, object value)
:添加一个键值对。 -
Remove(object key)
:删除指定键的键值对。 -
Contains(object key)
:检查集合中是否包含指定键。 -
GetEnumerator()
:获取集合的枚举器。 -
Clear()
:清除集合中的所有键值对。 -
Count
:获取集合中键值对的总数。
- 示例代码
using System;
using System.Collections;
class Program
{
static void Main()
{
Hashtable ages = new Hashtable();
// 添加键值对
ages.Add("Alice", 25);
ages.Add("Bob", 30);
ages.Add("Charlie", 35);
// 遍历集合
foreach (DictionaryEntry entry in ages)
{
Console.WriteLine($"{entry.Key}: {entry.Value}");
}
// 检查键是否存在
if (ages.Contains("Alice"))
{
Console.WriteLine("Alice 的年龄是: " + ages["Alice"]);
}
// 删除键值对
ages.Remove("Bob");
// 清空集合
ages.Clear();
Console.WriteLine("集合已清空");
}
}
五、HashSet<T>
集合类型
1. 概述
HashSet<T>
是一种泛型集合类型,位于 System.Collections.Generic
命名空间下。它提供了一种高效的方式来存储和操作不重复的元素集合。
- 常见方法
-
Add(T item)
:添加一个元素。 -
Remove(T item)
:删除一个元素。 -
Contains(T item)
:检查集合中是否包含指定元素。 -
Clear()
:清除集合中的所有元素。 -
Count
:获取集合中元素的总数。
3. 示例代码
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
HashSet<string> fruits = new HashSet<string>();
// 添加元素
fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Orange");
// 遍历集合
foreach (var fruit in fruits)
{
Console.WriteLine(fruit);
}
// 检查元素是否存在
if (fruits.Contains("Apple"))
{
Console.WriteLine("集合中包含 Apple");
}
// 删除元素
fruits.Remove("Banana");
// 清空集合
fruits.Clear();
Console.WriteLine("集合已清空");
}
}
六、总结
C# 提供了多种集合类型,每种集合类型都有其独特的特性和适用场景。List<T>
和 ArrayList
适用于存储和操作一组数据;Dictionary<TKey, TValue>
和 Hashtable
适用于存储和检索键值对;HashSet<T>
适用于存储和操作不重复的元素集合。在实际开发中,选择合适的集合类型可以提高代码的效率和可维护性。希望本文能够帮助你更好地理解和使用 C# 中的常用集合类型。
最后,如果你对python语言还有任何疑问或者需要进一步的帮助,请访问https://www.xin3721.com 本站原创,转载请注明出处:https://www.xin3721.com