C# List介绍及具体用法

C# List介绍及具体用法

List是什么?

List是C#语言中的一种基本的集合类型,位于System.Collections.Generic命名空间下。

List是一种动态数组,与普通数组相比,List可以进行动态扩容,并且可以存储任意类型的数据。List提供了一系列操作元素的方法,例如添加、删除、排序等,是C#中常用的集合类型之一。

List的创建与初始化

List的创建与初始化通常使用构造函数或对象初始化器,具体实现如下:

// 创建一个int类型的List,初始容量为5
List<int> list1 = new List<int>(5);

// 创建一个包含初始元素的List,可以使用对象初始化器
List<string> list2 = new List<string>()
{
    "apple", "banana", "cherry"
};

上面的代码中,List<int> list1 表示创建一个 int 类型的 List5 表示该 List 的初始容量。

List<string> list2 表示创建一个 string 类型的 List,使用对象初始化器对其进行初始化,其中包含三个元素 "apple", "banana", "cherry"

List的常用操作

添加元素

关于List添加元素的方法,有以下几种:

// 添加单个元素
list.Add(value);

// 添加多个元素
list.AddRange(collection);

// 添加一个序列
list.InsertRange(index, collection);

其中,list.Add(value) 表示向列表尾部添加一个元素 value

list.AddRange(collection) 表示向列表尾部添加多个元素,这些元素来自于集合 collection

list.InsertRange(index, collection) 表示在指定位置 index 处向列表中添加一些元素(来自于 collection 中的某个序列)。

删除元素

关于List删除元素的方法,有以下几种:

// 删除单个元素
list.Remove(value);

// 删除指定位置元素
list.RemoveAt(index);

// 删除指定条件元素
list.RemoveAll(predicate);

// 删除一定区间内的元素
list.RemoveRange(index, count);

其中,list.Remove(value) 表示从列表中删除一个元素 value

list.RemoveAt(index) 表示从列表中删除指定位置的元素。

list.RemoveAll(predicate) 表示删除满足特定条件的所有元素。

list.RemoveRange(index, count) 表示删除列表中指定区间 [index, index + count - 1] 内的所有元素。

排序

List提供了多种排序方法,如下所示:

// 升序排序(使用默认的比较器)
list.Sort();

// 升序排序(使用自定义的比较器)
list.Sort(comparison);

// 降序排序(使用默认的比较器)
list.OrderByDescending(x => x).ToList();

其中,list.Sort() 表示升序排列列表元素,使用默认的比较器进行比较。

list.Sort(comparison) 表示升序排列列表元素,使用自定义的比较器来进行比较。

list.OrderByDescending(x => x).ToList() 表示降序排列列表元素。

示例说明

示例1:向List中添加及删除元素

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        List<string> list = new List<string>()
        {
            "apple", "banana", "cherry"
        };

        list.Add("durian");
        list.Remove("banana");

        foreach (string fruit in list)
        {
            Console.WriteLine(fruit);
        }
    }
}

上述代码展示了如何向List中添加及删除元素。首先创建一个包含三个字符串元素的List,然后调用Add方法添加一个新增元素和Remove方法删除一个元素,最后输出修改后的List。

输出结果:

apple
cherry
durian

示例2:对List进行排序

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        List<int> list = new List<int>()
        {
            5, 3, 7, 2, 8
        };

        list.Sort();

        foreach (int number in list)
        {
            Console.WriteLine(number);
        }
    }
}

上述代码展示了如何对List进行排序。首先创建一个包含五个整型元素的List,然后调用Sort方法进行排序,最后输出排序后的List。

输出结果:

2
3
5
7
8

以上是C# List介绍及具体用法的攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# List介绍及具体用法 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • C#如何判断.Net Framework版本是否满足软件运行需要的版本

    要判断C#程序所依赖的.NET Framework版本是否满足软件运行需要的版本,可以使用System.Runtime.Versioning命名空间中的FrameworkName类来实现。具体步骤如下: 引入System.Runtime.Versioning命名空间 在C#程序的代码文件中,添加using语句,引入System.Runtime.Version…

    C# 2023年6月6日
    00
  • ASP.Net Core基于ABP架构配置To Json序列化

    ASP.NET Core是一个跨平台的开源框架,它已成为web应用程序开发的主流,而ABP则是一种ASP.NET Core应用程序架构,有助于开发大型的多租户应用程序。在ABP架构中,To Json序列化是一种常用的配置方式,可以将.NET对象转换为JSON格式的字符串。 下面是ASP.Net Core基于ABP架构配置To Json序列化的完整攻略: 首先…

    C# 2023年6月3日
    00
  • c#操作iis根目录的方法

    C#操作IIS根目录的方法攻略 在使用C#开发Web应用程序时,我们常常需要对IIS服务器中的根目录进行操作。下面介绍一些常见的方法,帮助你轻松管理IIS服务器中的根目录。 1. 使用IIS管理脚本(IIS Management Scripts) IIS管理脚本提供了一系列用于管理IIS服务器的命令行工具。从Windows 7开始,这些工具都自带了。 对于I…

    C# 2023年6月1日
    00
  • C# WinForm应用程序降低系统内存占用方法总结

    C# WinForm应用程序降低系统内存占用方法总结 简介 C# WinForm应用程序在运行过程中会消耗较多的系统内存,如果内存占用过高则会影响系统的反应速度,导致用户体验不佳。本篇文章将介绍降低C# WinForm应用程序内存占用的方法。 方法 1. 图片资源优化 图片资源占用大量内存,影响程序性能。对于C# WinForm应用程序,图片资源可以通过以下…

    C# 2023年6月3日
    00
  • c#实现sunday算法实例

    当需要在一个字符串中查找某个子串时,Sunday 算法是一种常用的实现方式。该算法的基本思想是:尽量减少一位地移动匹配串和主串。如果匹配不成功,那么从主串的下一个字符开始,继续进行匹配。 以下是使用 C# 实现 Sunday 算法的完整攻略: 1. 首先了解 Sunday 算法的基本实现流程 查看匹配串中当前访问的字符是否与主串中对应的位置相同。 如果相同,…

    C# 2023年6月6日
    00
  • C# 分支与循环介绍

    C#分支与循环介绍 在C#中,分支与循环结构是编写程序中十分常见的语法,能够实现程序流程控制,对于实现各种业务逻辑非常重要。本文将详细介绍C#中分支与循环的使用方法。 分支结构 C#中的分支结构主要包括 if/else 语句和 switch 语句。 if/else 语句 if/else 语句是一种基本的条件判断结构,通过判断指定的条件是否满足来决定程序执行的…

    C# 2023年5月15日
    00
  • C#基础知识系列八const和readonly关键字详细介绍

    C#基础知识系列八:const和readonly关键字详细介绍 const和readonly的区别 在C#中,常量可以使用const和readonly关键字来定义。它们的区别在于: const定义的常量是静态编译时常量,只能在定义时赋值,不可以改变,也不需要实例化即可使用。这些常量的值必须在编译时就确定下来,也就是说,它们的值必须是编译器常量。因此,cons…

    C# 2023年5月15日
    00
  • ASP.net连接Excel的代码

    ASP.NET连接Excel的代码主要是利用ADO.NET技术来实现的。我们可以使用连接字符串在代码中定义Excel的文件路径。下面是连接Excel文件的完整攻略及示例代码说明: 步骤1:添加Excel连接器 在ASP.NET应用程序中连接Excel,我们需要在该应用程序中添加Excel连接器。 使用NuGet包管理器对项目引用Microsoft.ACE.O…

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