C# 字典,队列,数组

时间: 2023-07-12 19:12:03 浏览: 52
C# 中的字典(Dictionary)、队列(Queue)和数组(Array)是常用的数据结构,它们分别用于存储键值对、先进先出的元素和相同类型的元素。 ### 字典(Dictionary) 字典是一种键值对集合,每个键值对称为一个项(Item),其中键(Key)唯一,对应一个值(Value)。在 C# 中,字典的实现类是 `Dictionary<TKey, TValue>`,其中 `TKey` 为键的类型,`TValue` 为值的类型。 下面是一个简单的示例,演示了如何使用字典: ```csharp Dictionary<string, int> dict = new Dictionary<string, int>(); dict.Add("apple", 2); dict.Add("banana", 3); dict.Add("orange", 4); foreach (KeyValuePair<string, int> item in dict) { Console.WriteLine(item.Key + ": " + item.Value); } // Output: // apple: 2 // banana: 3 // orange: 4 ``` 在上面的示例中,我们创建了一个名为 `dict` 的字典,键的类型为字符串,值的类型为整数。然后,我们使用 `Add` 方法向字典中添加三个项。最后,我们使用 `foreach` 循环遍历字典中的所有项,并输出它们的键和值。 ### 队列(Queue) 队列是一种先进先出的数据结构,每次从队列中取出的元素都是最早插入队列的元素。在 C# 中,队列的实现类是 `Queue<T>`,其中 `T` 为元素的类型。 下面是一个简单的示例,演示了如何使用队列: ```csharp Queue<int> queue = new Queue<int>(); queue.Enqueue(1); queue.Enqueue(2); queue.Enqueue(3); while (queue.Count > 0) { int num = queue.Dequeue(); Console.WriteLine(num); } // Output: // 1 // 2 // 3 ``` 在上面的示例中,我们创建了一个名为 `queue` 的队列,元素的类型为整数。然后,我们使用 `Enqueue` 方法向队列中添加三个元素。最后,我们使用 `while` 循环遍历队列中的所有元素,并使用 `Dequeue` 方法取出元素并输出。 ### 数组(Array) 数组是一种固定长度、相同类型的元素集合。在 C# 中,数组可以是一维、二维或多维的。数组的类型可以是任意数据类型,包括自定义数据类型。 下面是一个简单的示例,演示了如何使用数组: ```csharp int[] nums = new int[3]; nums[0] = 1; nums[1] = 2; nums[2] = 3; foreach (int num in nums) { Console.WriteLine(num); } // Output: // 1 // 2 // 3 ``` 在上面的示例中,我们创建了一个名为 `nums` 的整数数组,长度为 3。然后,我们使用下标运算符 `[]` 给数组中的元素赋值。最后,我们使用 `foreach` 循环遍历数组中的所有元素,并输出它们的值。

相关推荐

最新推荐

C#使用foreach语句遍历二维数组的方法

主要介绍了C#使用foreach语句遍历二维数组的方法,实例分析了C#遍历数组的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

C#实现将数组内元素打乱顺序的方法

主要介绍了C#实现将数组内元素打乱顺序的方法,涉及C#数组遍历及随机数操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

C#字符串数组转换为整形数组的方法

主要介绍了C#字符串数组转换为整形数组的方法,涉及C#数组遍历与转换的相关技巧,需要的朋友可以参考下

C#实现对二维数组排序的方法

主要介绍了C#实现对二维数组排序的方法,实例分析了C#数组遍历与排序的相关技巧,需要的朋友可以参考下

C# 删除数组内的某个值、一组值方法详解

在本篇文章里小编给大家整理的是关于C# 如何删除数组内的某个值、一组值的相关知识点,需要的朋友们学习下。

stc12c5a60s2 例程

stc12c5a60s2 单片机的所有功能的实例,包括SPI、AD、串口、UCOS-II操作系统的应用。

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire

【迁移学习在车牌识别中的应用优势与局限】: 讨论迁移学习在车牌识别中的应用优势和局限

![【迁移学习在车牌识别中的应用优势与局限】: 讨论迁移学习在车牌识别中的应用优势和局限](https://img-blog.csdnimg.cn/direct/916e743fde554bcaaaf13800d2f0ac25.png) # 1. 介绍迁移学习在车牌识别中的背景 在当今人工智能技术迅速发展的时代,迁移学习作为一种强大的技术手段,在车牌识别领域展现出了巨大的潜力和优势。通过迁移学习,我们能够将在一个领域中学习到的知识和模型迁移到另一个相关领域,从而减少对大量标注数据的需求,提高模型训练效率,加快模型收敛速度。这种方法不仅能够增强模型的泛化能力,提升识别的准确率,还能有效应对数据

margin-top: 50%;

margin-top: 50%; 是一种CSS样式代码,用于设置元素的上边距(即与上方元素或父级元素之间的距离)为其父元素高度的50%。 这意味着元素的上边距将等于其父元素高度的50%。例如,如果父元素的高度为100px,则该元素的上边距将为50px。 请注意,这个值只在父元素具有明确的高度(非auto)时才有效。如果父元素的高度是auto,则无法确定元素的上边距。 希望这个解释对你有帮助!如果你还有其他问题,请随时提问。

Android通过全局变量传递数据

在Activity之间数据传递中还有一种比较实用的方式 就是全局对象 实用J2EE的读者来说都知道Java Web的四个作用域 这四个作用域从小到大分别是Page Request Session和Application 其中Application域在应用程序的任何地方都可以使用和访问 除非是Web服务器停止 Android中的全局对象非常类似于Java Web中的Application域 除非是Android应用程序清除内存 否则全局对象将一直可以访问 1 定义一个类继承Application public class MyApp extends Application 2 在AndroidMainfest xml中加入全局变量 android:name &quot; MyApp&quot; 3 在传数据类中获取全局变量Application对象并设置数据 myApp MyApp getApplication ; myApp setName &quot;jack&quot; ; 修改之后的名称 4 在收数据类中接收Application对象 myApp MyApp getApplication ;">在Activity之间数据传递中还有一种比较实用的方式 就是全局对象 实用J2EE的读者来说都知道Java Web的四个作用域 这四个作用域从小到大分别是Page Request Session和Application 其中Application域在应用程序的任何地方都可以使用和 [更多]