C#各类集合汇总

C# 各类集合汇总

在 C# 中有许多不同种类的集合,每种都有其特点和用途,下面对常用的一些集合进行简单的介绍和示例演示。

List

List 是一种动态数组,可以根据需要调整大小。它可以用于存储任何类型的对象,尽管在大多数情况下它用于存储对象的列表。

下面是一个例子,展示如何在 List 中添加和访问元素:

List<string> fruits = new List<string>();
fruits.Add("apple");
fruits.Add("banana");
fruits.Add("grape");

// 遍历 List<string> 中的所有元素并输出
foreach (string fruit in fruits)
{
    Console.WriteLine(fruit);
}
// 输出:apple, banana, grape

Dictionary

Dictionary 是一种用于存储键值对的集合类型。这些键值对是固定在一起的,并且可以通过键来访问值,就像从字典中查找单词一样。

下面是一个例子,展示如何在 Dictionary 中添加和访问键值对:

Dictionary<string, int> fruitCount = new Dictionary<string, int>();
fruitCount.Add("apple", 3);
fruitCount.Add("banana", 2);
fruitCount.Add("grape", 5);

// 输出 apple 的数量
Console.WriteLine(fruitCount["apple"]);  // 输出:3

// 遍历 Dictionary<string, int> 中的所有键值对并输出
foreach (KeyValuePair<string, int> pair in fruitCount)
{
    Console.WriteLine("There are {0} {1}s", pair.Value, pair.Key);
}
// 输出:There are 3 apples
//       There are 2 bananas
//       There are 5 grapes

Queue

Queue 是一种先进先出队列。它可以用于模拟等待列表,或按照特定顺序处理任务。

下面是一个例子,展示如何在 Queue 中添加和访问元素:

Queue<string> customers = new Queue<string>();
customers.Enqueue("Alice");
customers.Enqueue("Bob");
customers.Enqueue("Charlie");

// 处理到达顺序
while (customers.Count > 0)
{
    Console.WriteLine(customers.Dequeue() + " has been served.");
}
// 输出:Alice has been served.
//       Bob has been served.
//       Charlie has been served.

Stack

Stack 是一种后进先出的堆栈。它可以用于执行函数调用、存储撤消历史记录等操作。

下面是一个例子,展示如何在 Stack 中添加和访问元素:

Stack<string> browsers = new Stack<string>();
browsers.Push("Chrome");
browsers.Push("Firefox");
browsers.Push("Safari");

// 逆处理创建顺序
while (browsers.Count > 0)
{
    Console.WriteLine("Chrome has closed " + browsers.Pop() + ".");
}
// 输出:Chrome has closed Safari.
//       Chrome has closed Firefox.
//       Chrome has closed Chrome.

Conclusion

以上介绍了 C# 中常用的一些集合类型,每种集合都有其特点和用途。在实际编程中,需要根据具体需求选择合适的集合类型来存储数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#各类集合汇总 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • 详解c# 类的构造方法

    下面我来详细讲解一下“详解C#类的构造方法”的完整攻略。 什么是构造方法 C#中的构造方法是一种特殊的方法,它和类名相同,用于在对象创建时初始化对象。当我们创建一个类的对象时,会自动调用该类的构造方法。构造方法通常用来初始化对象,它可以在对象创建时进行一些必要的设置工作,例如分配内存、设置默认值等。如果没有手动定义构造方法,系统会默认提供一个无参构造方法来初…

    C# 2023年5月15日
    00
  • C#实现随机数产生类实例

    C# 中随机数的生成可以使用 Random 类来实现。以下是实现随机数产生类实例的攻略: 步骤一:引入 Random 类 using System; 在代码文件开头引入 Random 类,通过使用 using 关键词来使 Random 类成为项目中可使用的类。 步骤二:在类中声明 Random 类实例 Random random = new Random()…

    C# 2023年6月7日
    00
  • VS.net VSS时,编译报错:未能向文件“.csproj.FileListAbsolute.txt”写入命令行 对路径 的访问被拒绝。

    这是一个在使用VS.netVSS时出现的编译错误,通常是由于文件权限问题引起的。出现这个错误时,VS.netVSS不能将命令行路径写入文件”.csproj.FileListAbsolute.txt”中,返回”访问被拒绝”的错误。 解决方法如下: 以管理员身份运行Visual Studio 第一个解决方法是在运行Visual Studio时使用管理员权限。右键…

    C# 2023年5月14日
    00
  • C#简单获取时间差的小例子

    下面我来详细讲解如何实现“C#简单获取时间差的小例子”。 目录 问题描述 解决方案 使用TimeSpan获取时间差 使用DateTime的Subtract方法获取时间差 总结 问题描述 在编写C#程序时,我们常常需要获取时间差,比如计算某个操作执行的时间、计算两个时间点之间的时长等等。那么,如何快速、简单地获取时间差呢? 解决方案 以下是两种使用C#获取时间…

    C# 2023年6月1日
    00
  • 解析Asp.net Core中使用Session的方法

    下面我来详细讲解在Asp.net Core中使用Session的方法。 简介 在Asp.net Core中,Session是一种在服务器端存储用户数据的机制,用于存储在不同请求之间需要共享的数据。Session的使用可以帮助我们实现用户认证、用户状态管理等功能。在Asp.net Core中,使用Session存储数据需要借助Session服务。 配置Sess…

    C# 2023年5月31日
    00
  • C#实现简单的双色球抽取中奖号码代码

    要实现简单的双色球抽取中奖号码代码,需要掌握以下的知识点: C#的随机数生成 数组的定义和使用 控制语句(如if语句、for循环等) 字符串的操作 接下来,我将一步步为你详细讲解如何用C#实现简单的双色球抽取中奖号码的代码。 步骤一:定义红球和蓝球的范围 双色球包含1-33个红球和1-16个蓝球。我们需要定义这两个范围。 int redMax = 33; i…

    C# 2023年5月31日
    00
  • C#中数组初始化与数组元素复制的方法

    C#中数组初始化与数组元素复制的方法主要有以下几种: 一、使用数组初始化语法 数组初始化语法在C# 3.0中引入,允许我们在声明数组时使用大括号来初始化数组元素,语法格式如下: type[] arrayName = {element1, element2, element3, …, elementN}; 其中,type为数组元素类型,arrayName为…

    C# 2023年6月7日
    00
  • JavaScript ESLint插件保姆级使用教程

    JavaScript ESLint插件保姆级使用教程 1. 什么是ESLint ESLint是一个可扩展的JavaScript代码检查工具。它可以检查代码中的语法错误,提供一致的代码风格,并可以检测代码中的潜在问题。ESLint 可以配置以满足您的特定需求。ESLint内置了很多规则,您也可以通过使用插件来添加自定义规则。 2. 安装ESLint 2.1 安…

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部