C#集合之列表的用法

yizhihongxing

C#集合之列表的用法

列表是C#中使用最广泛的数据结构之一,它可以存储一组元素,并提供了丰富的方法来操作这些元素。本文将全面介绍C#中列表的用法,包括创建、添加元素、访问元素、删除元素、遍历列表、列表的排序等。

创建列表

在C#中创建一个列表对象非常简单,只需要使用List类即可,其中T为列表中元素的类型。

下面是一个创建整型列表的示例:

List<int> numbers = new List<int>();

这样就创建了一个空的整型列表。我们也可以在创建列表时,初始化列表的元素,如下所示:

List<int> numbers = new List<int>{ 1, 2, 3, 4, 5 };

这样就创建了一个包含了5个整型元素的列表。

添加元素

列表提供了多个方法来添加元素,下面介绍其中的两个:

Add方法

Add方法用于在列表的尾部添加一个元素,示例如下:

List<int> numbers = new List<int>{ 1, 2, 3 };
numbers.Add(4);   // 在列表尾部添加值为4的元素

Insert方法

Insert方法用于在列表的指定位置添加一个元素,示例如下:

List<int> numbers = new List<int>{ 1, 2, 3 };
numbers.Insert(1,10);   // 在列表的第二个位置插入值为10的元素,原来的元素往后移动一位

访问元素

可以使用索引访问列表中的元素,如下所示:

List<int> numbers = new List<int>{ 1, 2, 3 };
Console.WriteLine(numbers[0]);  // 输出列表中的第一个元素,即1

删除元素

列表提供了多个方法来删除元素,下面介绍其中的两个:

Remove方法

Remove方法用于删除列表中指定的元素,示例如下:

List<int> numbers = new List<int>{ 1, 2, 3 };
numbers.Remove(2);   // 删除列表中值为2的元素

RemoveAt方法

RemoveAt方法用于删除列表中指定位置的元素,示例如下:

List<int> numbers = new List<int>{ 1, 2, 3 };
numbers.RemoveAt(1);   // 删除列表中第二个元素,即2

遍历列表

我们可以使用foreach循环来遍历列表,示例如下:

List<int> numbers = new List<int>{ 1, 2, 3 };
foreach(int i in numbers)
{
    Console.WriteLine(i);  // 输出列表中的每一个元素
}

列表的排序

列表提供了多个方法来对元素进行排序,下面介绍其中的两个:

Sort方法

Sort方法用于对列表中的元素进行排序,示例如下:

List<int> numbers = new List<int>{ 3, 2, 1 };
numbers.Sort();  // 对列表中的元素进行升序排序,结果为 1,2,3

Reverse方法

Reverse方法用于倒转列表中的元素,示例如下:

List<int> numbers = new List<int>{ 1, 2, 3 };
numbers.Reverse();  // 对列表中的元素进行倒转,结果为 3,2,1

示例介绍

示例1:创建学生列表

下面是一个创建学生列表的示例,其中学生是一个自定义的类:

class Student
{
    public string name;
    public int age;
    public int grade;
}

List<Student> students = new List<Student>
{
    new Student {name = "张三", age = 18, grade = 1},
    new Student {name = "李四", age = 19, grade = 2},
    new Student {name = "王五", age = 18, grade = 1},
    new Student {name = "赵六", age = 20, grade = 3}
};

示例2:统计整型列表中大于10的元素个数

下面是一个统计整型列表中大于10的元素个数的示例:

List<int> numbers = new List<int>{ 1, 2, 3, 10, 20, 30 };
int count = numbers.FindAll(n => n > 10).Count;
Console.WriteLine(count);  // 输出3

以上就是关于C#中列表的用法的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#集合之列表的用法 - Python技术站

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

相关文章

  • ASP.NET Core中间件计算Http请求时间示例详解

    在ASP.NET Core中,中间件是一种非常强大的机制,可以用于处理HTTP请求和响应。在本攻略中,我们将介绍如何编写一个中间件来计算HTTP请求的时间,并将其记录到日志中。 步骤一:创建ASP.NET Core应用程序 首先,需要创建一个ASP.NET Core应用程序。可以使用以下命令在命令行中创建一个新的ASP.NET Core Web应用程序: d…

    C# 2023年5月17日
    00
  • C#实现的几种委托方式介绍

    下面是“C#实现的几种委托方式介绍”的完整攻略。 1. 委托的概念 委托(Delegate)是一种类型,它定义了一个方法(或一组方法)的参数类型和返回值类型。委托可以看做是函数的“指针”,它允许我们将方法作为参数传递,并且可以通过委托调用传递的方法。 2. 委托的定义 在 C# 中,委托定义的格式如下: delegate 返回类型 委托名称(参数类型 参数名…

    C# 2023年6月7日
    00
  • .NET Core系列之MemoryCache 缓存选项

    .NET Core系列之MemoryCache 缓存选项 在.NET Core中,MemoryCache是一种内存缓存,可用于缓存应用程序中的数据。MemoryCache提供了多种缓存选项,可以根据应用程序的需求进行配置。本攻略将介绍MemoryCache的缓存选项,包括缓存过期、缓存优先级、缓存回调等,并提供两个示例说明。 缓存过期 在MemoryCach…

    C# 2023年5月16日
    00
  • C#中API调用的多种方法

    当我们需要在C#中使用外部库或者是系统提供的API时,可以通过以下多种方式进行API调用: 1. DllImport方式调用API 步骤 首先需要在命名空间中添加using System.Runtime.InteropServices,该命名空间为DllImport方法所在的命名空间。 在需要使用API的方法上方添加DllImport特性,该特性包含了API…

    C# 2023年5月15日
    00
  • c#多线程的应用全面解析

    C#多线程的应用全面解析 多线程是现代计算机系统的重要特性之一,C#也是一门支持多线程编程的语言。本文将从以下几个方面对C#多线程进行全面解析,包括线程的创建和启动、线程同步、线程池和任务并行库。此外,还将提供两个实际应用场景的示例。 线程的创建和启动 在C#中,以下几种方式可以创建线程: 使用Thread类 “`csharp Thread t = new…

    C# 2023年5月15日
    00
  • C#中Attribute特性的用法

    下面是关于“C#中Attribute特性的用法”的完整攻略。 什么是Attribute? Attribute是一种定义为类、方法、属性、字段、事件和委托等代码元素添加元数据的特殊语言结构,它们以中括号“[]”的形式表示。在运行时或编译时,可以通过反射机制获取被打上Attribute标记的代码元素的信息。 Attribute的分类 C#中的Attribute有…

    C# 2023年5月31日
    00
  • .net msmq消息队列实例详解

    .NET MSMQ消息队列实例详解 在.NET开发中,消息队列是一种常见的通信机制,可以实现异步通信、解耦和可靠性等功能。本文将介绍.NET中的消息队列实现MSMQ(Microsoft Message Queuing)的详细使用方法。 安装MSMQ 在使用MSMQ之前,需要先安装MSMQ组件。在Windows操作系统中,可以通过以下步骤安装MSMQ: 打开“…

    C# 2023年5月15日
    00
  • C# 获得本地通用网卡信息的示例代码

    获取本地通用网卡信息是一个非常常见的需求,C#提供了System.Net.NetworkInformation命名空间下的NetworkInterface类来实现该功能。下面我们来详细讲解如何获得本地通用网卡信息的示例代码: 1.获取本地所有网卡信息 使用NetworkInterface类可以获取本地所有网卡信息,示例代码如下: using System.N…

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