C#中List用法介绍详解

C#中List用法介绍详解

List是C#中一个常用的动态数组容器,可以动态添加、删除、修改数组元素,给我们的开发提供了极大的便利。下面将对List的使用进行详细介绍。

List的定义和初始化

List的定义和初始化非常简单,只需要使用List<>和new关键字即可。

List<int> list1 = new List<int>(); //定义一个int类型的List集合,集合中不包含元素

List<string> list2 = new List<string>() { "apple", "banana", "orange" }; //定义一个string类型的List集合,包含了三个元素

List的添加和删除元素

List的添加和删除元素非常方便,可以使用Add()、AddRange()、Insert()、Remove()、RemoveAt()等方法。

使用Add()方法添加一个元素:

List<int> list = new List<int>();
list.Add(10);
//list里面的元素现在为10。

使用AddRange()方法添加多个元素:

List<string> list = new List<string>() { "apple", "banana" };
list.AddRange(new string[] { "watermelon", "orange" });
//list里面的元素现在为apple, banana, watermelon, orange。

使用Insert()方法在指定位置插入元素:

List<string> list = new List<string>() { "apple", "banana", "watermelon" };
list.Insert(2, "orange");
//list里面的元素现在为apple, banana, orange, watermelon。

使用Remove()方法删除指定元素:

List<int> list = new List<int>() { 1, 2, 3, 4, 5 };
list.Remove(3);
//list里面的元素现在为1, 2, 4, 5。

使用RemoveAt()方法删除指定位置的元素:

List<int> list = new List<int>() { 1, 2, 3, 4, 5 };
list.RemoveAt(1);
//list里面的元素现在为1, 3, 4, 5。

List的遍历和排序

List的遍历和排序都很方便,可以使用foreach语句和Sort()方法。

使用foreach语句遍历List:

List<string> list = new List<string>() { "apple", "banana", "orange" };
foreach (string fruit in list)
{
    Console.WriteLine(fruit);
}

使用Sort()方法对List进行排序:

List<int> list = new List<int>() { 3, 5, 1, 4, 2 };
list.Sort();
//list里面的元素现在为1, 2, 3, 4, 5。

示例1

以下是一个示例程序,使用List实现了一个求和函数,可以动态添加任意多个整数并求和。

using System;
using System.Collections.Generic;

public class Program
{
    static void Main()
    {
        List<int> list = new List<int>();
        Console.WriteLine("请输入要添加的整数,直接回车即可求和");

        int num;
        while (int.TryParse(Console.ReadLine(), out num))
        {
            list.Add(num);
        }

        int sum = 0;
        foreach (int i in list)
        {
            sum += i;
        }

        Console.WriteLine("求和结果为:" + sum);
    }
}

运行结果如下:

请输入要添加的整数,直接回车即可求和
1
2
3
4
5

求和结果为:15

示例2

以下是一个示例程序,使用List实现了一个字符串查找函数,可以动态添加任意多个字符串并查找其中包含指定子串的字符串,返回第一个符合条件的字符串。

using System;
using System.Collections.Generic;

public class Program
{
    static void Main()
    {
        List<string> list = new List<string>() { "apple", "banana", "orange", "watermelon" };
        Console.WriteLine("请输入要查找的子串:");

        string searchStr = Console.ReadLine();
        foreach (string str in list)
        {
            if (str.Contains(searchStr))
            {
                Console.WriteLine("找到符合条件的字符串:" + str);
                return;
            }
        }

        Console.WriteLine("未找到符合条件的字符串");
    }
}

运行结果如下:

请输入要查找的子串:
me
找到符合条件的字符串:watermelon

总结

本文详细介绍了C#中List的用法,包括定义和初始化、添加和删除元素、遍历和排序等内容,并提供了两个示例程序。List具有灵活性和容易使用的特点,对于开发人员来说是一个非常有用的工具。

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

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

相关文章

  • C#获取指定目录最后写入时间的方法

    关于C#获取指定目录最后写入时间的方法,可以使用FileInfo类中的LastWriteTime属性来实现。具体步骤如下: 步骤1. 引入命名空间 首先我们需要在代码文件中引入System.IO命名空间,因为FileInfo类是位于该命名空间下的。代码如下: using System.IO; 步骤2. 定义目录路径 接着,我们需要定义一个目录路径的字符串变量…

    C# 2023年6月2日
    00
  • C#线程池用法详细介绍

    C#线程池用法详细介绍 什么是线程池 线程池是一种维护和重复利用多个线程的机制,这些线程可以在程序中被多次调用。线程池是一种可管理的线程资源方式,可以有效地管理线程,提高程序运行的效率以及性能。 C#线程池用法 C#线程池是通过ThreadPool类实现的,ThreadPool类在.NET Framework中是一个静态类。在使用线程池时,需要考虑以下几个方…

    C# 2023年5月31日
    00
  • c#中查询表达式GroupBy的使用方法

    C#中查询表达式GroupBy的使用方法 在C#中,查询表达式(GroupBy)可以用于将序列按照指定的属性分组,使我们可以更方便地对数据进行分析和处理。本篇攻略将带你详细了解C#中查询表达式的使用方法,并提供两个实际应用的示例。 GroupBy的基本使用方法 GroupBy的基本语法如下所示: var groupedData = from item in …

    C# 2023年6月1日
    00
  • c#读取xml文件到datagridview实例

    接下来我将为您详细讲解“C#读取XML文件到DataGridView实例”的完整攻略。 1. 读取XML文件 在C#中,读取XML文件可以使用XmlDocument类或XDocument类。这里以XmlDocument类为例。 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("data.xml…

    C# 2023年6月1日
    00
  • C#超市收银系统设计

    C#超市收银系统设计 C#超市收银系统设计是一款针对超市销售业务的收银软件。它可以帮助超市提高销售效率,减少错误率,优化管理流程,提升客户满意度。本文将对C#超市收银系统的设计过程进行详细的攻略说明。 设计需求分析 在进行软件设计前,我们需要进行需求分析,明确软件的设计目标、实现方法和功能特点。 软件目标:提供快速、准确、安全、高效的销售结算服务; 实现方法…

    C# 2023年6月7日
    00
  • 总结ASP.NET C#中经常用到的13个JS脚本代码

    下面是“总结ASP.NET C#中经常用到的13个JS脚本代码”的详细攻略。 1. 执行JS代码 我们可以使用JS的eval()方法执行一段JS代码,其用法如下: eval(‘console.log("Hello World!")’); 2. 显示或隐藏元素 如果我们想要在点击某个元素时显示或隐藏一个元素,我们可以使用以下代码: func…

    C# 2023年5月31日
    00
  • 使用扩展函数方式,在Winform界面中快捷的绑定树形列表TreeList控件和TreeListLookUpEdit控件

    在一些字典绑定中,往往为了方便展示详细数据,需要把一些结构树展现在树列表TreeList控件中或者下拉列表的树形控件TreeListLookUpEdit控件中,为了快速的处理数据的绑定操作,比较每次使用涉及太多细节的操作,我们可以把相关的数据绑定操作,放在一些辅助类的扩展函数中进行处理,这样可以更方便的,更简洁的处理数据绑定操作,本篇随笔介绍TreeList…

    C# 2023年4月25日
    00
  • C# 基于消息发布订阅模型的示例(上)

    让我来详细讲解一下「C# 基于消息发布订阅模型的示例(上)」的完整攻略。 什么是消息发布订阅模型? 消息发布订阅模型是一种系统架构模式,它支持应用程序之间的松耦合通信,允许一个事件的发布者将事件发送给多个订阅者。在这种模式中,发布者并不知道订阅者的存在,订阅者则会接收到发布者发布的所有事件。 实现消息发布订阅模型的步骤 以下是实现消息发布订阅模型的基本步骤:…

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