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日

相关文章

  • 在 ASP.NET Core 中为 gRPC 服务添加全局异常处理

    在ASP.NET Core中,gRPC是一种常见的跨平台通信方式,它可以帮助开发者在不同的平台之间进行高效的通信。在本攻略中,我们将详细介绍如何为gRPC服务添加全局异常处理,并提供两个示例来说明其用法。 以下是两个示例,介绍如何为gRPC服务添加全局异常处理: 示例一:使用全局异常过滤器 首先,我们需要创建一个全局异常过滤器: public class G…

    C# 2023年5月15日
    00
  • asp.net下利用JS实现对后台CS代码的调用方法

    要在ASP.NET中利用JS实现对后台C#代码的调用方式,有以下几种常用的方法: 1.利用AJAX进行异步调用 可以利用AJAX技术向服务器发送异步请求,进行后台代码的调用,并将返回的数据进行处理,将结果展示给用户。主要实现方法如下: JavaScript代码: function getResult(){ $.ajax({ type: "POST&…

    C# 2023年5月31日
    00
  • Net Core全局配置读取管理方法ConfigurationManager

    在本文中,我们将详细讲解如何在.NET Core中使用ConfigurationManager全局配置读取管理方法,并提供两个示例说明。 准备工作 在开始之前,您需要安装以下软件: .NET Core SDK 使用ConfigurationManager读取配置 在.NET Core项目中添加System.Configuration.Configuratio…

    C# 2023年5月16日
    00
  • C#反射在实际应用中的实例代码

    C#反射在实际应用中非常重要。它使得我们能够在程序运行时动态地获取其类型信息并且访问其成员。接下来,我们将通过两个示例来演示如何在实际应用中使用C#反射以获取类型信息并且访问类型成员。 示例一:获取程序集中所有类型的名称 我们可以使用System.Reflection命名空间提供的类型来获取一个程序集中所有包含的类型名称: using System.Refl…

    C# 2023年5月31日
    00
  • ASP.NET Core 5.0中的Host.CreateDefaultBuilder执行过程解析

    ASP.NET Core 是一种开源的、跨平台的、高性能的 Web 应用程序框架。其中 Host.CreateDefaultBuilder 是一个 ASP.NET Core 5.0 的新特性,它提供了一个有用的方法来快速地搭建一个 Web 应用程序的主机。本攻略将详细讲解 ASP.NET Core 5.0 中的 Host.CreateDefaultBuild…

    C# 2023年6月3日
    00
  • ASP.NET MVC中两个配置文件的作用详解

    当我们使用ASP.NET MVC框架来开发一个网站时,我们需要先了解两个配置文件的作用,这些配置文件可以帮助我们更好地配置和管理应用程序。它们分别是Web.Config和RouteConfig.cs。 Web.Config Web.config文件是一个XML文件,它包含了ASP.NET应用程序的配置信息,包括应用程序的全局设置、数据库连接字符串、应用程序级…

    C# 2023年6月3日
    00
  • C#异步编程之async/await详解

    C#异步编程之async/await详解 简介 异步编程是现代编程中不可避免的一部分,它允许我们编写高性能和更加流畅的应用。C#中的async/await关键字是一种优雅的方式来处理异步操作,这篇文章将着重详解这一特性。 async和await是什么? async是一个修饰符,用于修饰一个方法,表示这个方法是异步方法。 await是一个操作,用于让方法等待另…

    C# 2023年5月15日
    00
  • c# 操作word写入特殊字符的实例

    下面是关于“c# 操作word写入特殊字符的实例”完整攻略。 1. 确定写入的特殊字符 在使用C#操作Word写入特殊字符之前,必须确定写入的特殊字符是什么。常见的特殊字符包括制表符、回车、换行、页码、分隔符等。特殊字符的插入方法不同,因此确定特殊字符种类非常重要。 2. 打开Word文档 在C#中操作Word的第一步是打开Word文档。可以通过以下代码来打…

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