C#集合类用法实例代码详解

C#集合类用法实例代码详解

本文将详细展示C#集合类的用法,包括List、Dictionary、HashSet等常用集合类。你将学习到如何创建并操作这些集合类,并且会有两个实例说明帮助你更好地理解。

List

创建和初始化List

创建List可以直接使用List的构造函数,也可以使用Collection初始化器

List<int> list1 = new List<int>() { 1, 2, 3, 4 };
List<int> list2 = new List<int>(new int[] { 5, 6, 7, 8 });

List的添加、删除、查询操作

List<int> list = new List<int>() { 1, 2, 3, 4 };
list.Add(5);
list.AddRange(new int[] { 6, 7 }); 
list.Remove(3); 
list.RemoveAt(1); 

int index = list.IndexOf(4);  
bool contains = list.Contains(2); 

实例说明

例如,我们想把List转换成字符串,这时可以使用string.Join方法

List<int> list = new List<int>() { 1, 2, 3, 4 }; 
string output = string.Join(", ", list);

Dictionary

创建和初始化Dictionary

创建Dictionary可以直接使用Dictionary的构造函数,也可以使用Collection初始化器

Dictionary<string, int> dictionary1 = new Dictionary<string, int>()
{
    {"apple", 10},
    {"banana", 5},
    {"orange", 15}
};

Dictionary<string, int> dictionary2 = new Dictionary<string, int>()
{
    ["apple"] = 10,
    ["banana"] = 5,
    ["orange"] = 15
};

Dictionary的添加、删除、查询操作

Dictionary<string, int> dictionary = new Dictionary<string, int>();
dictionary.Add("apple", 10);
dictionary.Add("banana", 5);
dictionary.Add("orange", 15);
dictionary["grape"] = 20; 

dictionary.Remove("orange"); 
dictionary.TryGetValue("apple", out int appleCount);

实例说明

例如,在Dictionary中查找值最大的键

Dictionary<string, int> dictionary = new Dictionary<string, int>()
{
    {"apple", 10},
    {"banana", 5},
    {"orange", 15}
};

var maxKey = dictionary.Aggregate((x, y) => x.Value > y.Value ? x : y).Key;
// maxKey = "orange"

HashSet

创建和初始化HashSet

创建HashSet可以直接使用HashSet的构造函数,也可以使用Collection初始化器

HashSet<int> hashSet1 = new HashSet<int>() { 1, 2, 3, 4 };
HashSet<int> hashSet2 = new HashSet<int>(new int[] { 5, 6, 7, 8 });

HashSet的添加、删除、查询操作

HashSet<int> hashSet = new HashSet<int>() { 1, 2, 3, 4 };
hashSet.Add(5); 
hashSet.Remove(3); 

bool contains = hashSet.Contains(2);  

实例说明

例如,我们想求两个HashSet的交集

HashSet<int> hashSet1 = new HashSet<int>() { 1, 2, 3, 4 };
HashSet<int> hashSet2 = new HashSet<int>() { 3, 4, 5, 6 };

hashSet1.IntersectWith(hashSet2);
// hashSet1 = { 3, 4 }

以上就是本文对C#集合类的详细讲解,希望能对你的学习有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#集合类用法实例代码详解 - Python技术站

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

相关文章

  • 使用.net core 自带DI框架实现延迟加载功能

    以下是关于“使用 .NET Core 自带 DI 框架实现延迟加载功能”的完整攻略: 1. .NET Core 自带 DI 框架 .NET Core 自带的 DI 框架是一种轻量级的依赖注入框架,用于管理应用程序中的对象依赖关系。通过 DI 框架,我们可以将对象的创建和依赖关系的管理交给框架来处理,从而简化应用程序的开发和维护。 2. 延迟加载的概念 延迟加…

    C# 2023年5月12日
    00
  • C#实现的序列化通用类实例

    C#实现的序列化通用类实例 介绍 在C#中,序列化是将对象转换为流的过程,以便将其存储在磁盘或通过网络传输。反序列化则是将对象流转换回对象的过程。序列化通用类是一个可以将对象序列化为数据流或从数据流中反序列化的类,它可用于序列化不同类型的对象。 实现过程 创建配置文件(可选) 在整个应用程序中,配置文件非常重要,它包含着我们程序的基本配置信息。序列化通用类也…

    C# 2023年6月6日
    00
  • .NET Core项目使用swagger开发组件

    .NET Core项目使用Swagger开发组件 Swagger是一种用于描述RESTful Web服务的标准格式,它可以帮助我们生成API文档和客户端代码。在.NET Core项目中,我们可以使用Swagger来开发组件。本攻略将详细介绍如何在.NET Core项目中使用Swagger开发组件。 环境要求 在进行.NET Core项目使用Swagger开发…

    C# 2023年5月17日
    00
  • C# Redis学习系列(一)Redis下载安装使用

    C# Redis学习系列(一)Redis下载安装使用 下载 Redis官方网站提供了Windows版的Redis安装包。可以在https://redis.io/download下载最新版本的Redis for Windows。下载后解压缩到任意目录下即可。 安装 Redis并不需要安装过程,我们只需要下载解压缩后,启动redis-server.exe即可。可…

    C# 2023年6月8日
    00
  • AspectCore和MSDI 实现Name注册以及解析对象

    AspectCore 在注册服务这块比较简单,默认是无法根据Name去注册和解析对象,这边做一下这块的扩展 大致原理是根据自定义Name去生成对应的动态类型,然后使用委托或者对象的方式,进行注册 tips:由于底层原理的原因,无法支持Type的方式进行注册   定义好动态类型的接口,以及相关实现 1 public interface INamedServic…

    C# 2023年4月24日
    00
  • 详解C#中 Thread,Task,Async/Await,IAsyncResult的那些事儿

    详解C#中 Thread,Task,Async/Await,IAsyncResult的那些事儿 多线程编程是现代软件开发中非常重要的一个方向。在C#中,有多种方式来进行多线程编程,其中 Thread,Task,Async/Await,IAsyncResult 是最常用的几种方式。 Thread Thread 表示线程类。它允许我们在应用程序中创建新线程来执行…

    C# 2023年6月6日
    00
  • c#操作附加数据库的方法

    下面将详细讲解如何使用 C# 操作附加数据库。 什么是附加数据库? 附加数据库指的是,将已有的数据库文件(.mdf、.ndf、.ldf)添加到 SQL Server 实例中,这样可以通过 SQL Server 对该数据库进行操作,而不需要创建新的数据库。 C# 操作附加数据库的方法 步骤一:引用必要的命名空间 在使用 C# 操作附加数据库之前,需要引用以下命…

    C# 2023年6月1日
    00
  • C# Path.GetFileName(string path):获取指定路径的文件名(包括扩展名)

    Path.GetFileName(string path)方法用于获取指定路径中的文件名和扩展名。它返回带有文件扩展名的文件名的字符串。 使用方法: 引用System.IO命名空间。 using System.IO; 调用Path.GetFileName方法,并传入路径字符串作为参数。 string fileName = Path.GetFileName(&…

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