C#入门之列表

今天我们将看一下 C# 中的另外一种数据类型:列表。

首先,我们先来看一下列表:
列表和数组有点类似,都是用来表示一组数据。但数组是内存中连续存储的,所以对数组进行查询时非常快,但在数组中插入数据非常麻烦,这个时候,我们就需要使用 list。

下面我们先看一下示例:

using System;
using System.Collections.Generic;    // List 属于 System.Collections.Generic,所以要添加该行

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            List<string> names = new List<string>();   // 创建一个名为 names 的空列表
            names.Add("Tom");                         // 向列表中添加元素
            names.Add("Jerry");
            foreach (string name in names)            // 遍历列表内容
            {
                Console.WriteLine($"{name}");         // 输出遍历的结果
            }
        }
    }
}

运行结果:
https://ithelp.ithome.com.tw/upload/images/20210912/20099494nGnIwGGVbo.png

前面我们讲了添加数据到 list,以及列表的遍历,下面我们来看看 list 的 其他操作:

using System;
using System.Collections.Generic;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            List<string> names = new List<string> { "Tom", "Jerry", "Sam" };
            foreach (string name in names)
            {
                Console.Write($"{name + " "}");
            }
            Console.Write("\n");
            names.Add("Jack");
            foreach (string name in names)
            {
                Console.Write($"{name + " "}");
            }
            Console.Write("\n");
            Console.WriteLine(names.IndexOf("Tom"));    // 该元素的索引号
            Console.WriteLine(names[1]);         // 通过索引号获取元素
            names.Insert(1, "Aaron");        // 在该索引号位置插入元素
            foreach (string name in names)
            {
                Console.Write($"{name + " "}");
            }
        }
    }
}

运行结果:
https://ithelp.ithome.com.tw/upload/images/20210912/20099494Saw0nmdUEl.png

通过结果,我们可以看到,通过 add() 的元素,始终被添加到 list 的最后面,当在指定的位置添加元素时,我们需要使用 nsert() 来插入元素。

元素的索引号,是从 0 开始的,第一个元素的索引为 0,依次类推;也可以从最后一个开始,索引号为 -1。


<<:  DAY10-JAVA的类别(4)-建构元

>>:  [Day11] Tableau 轻松学 - Workbook/Worksheet/Dashboard/Story

第 k 短路径问题 (1)

12 第 k 短路径 给一个有向无负圈图,以及两个点 s 和 t、还有一个正整数 k。请找出所有不同...

Day_16 : 让 Vite 来开启你的Vue 之 资料定义 ref 与 reactive

Hi Dai Gei Ho~ 我是Winnie~ 在今天文章中,我们要来说的是Compostion ...

关於渗透测试:那些你不知道的黑暗面

辛辛苦苦的终於撑完30天完赛啦~ 今天就再来聊聊一些特别的吧! 如果你是一个向往渗透测试的入门者、学...

【课程推荐】2021/3/6~3/7 ISTQB Certified Tester 软件测试工程师(Foundation Level)国际认证班

课程目标 本课程定位为「软件测试入门砖」,课程规划依据「2018 ISTQB Foundation ...

Angular ElementRef、TemplateRef、viewContainerRef 的区别

今天就来聊聊 ElementRef、TemplateRef、viewContainerRef,者实说...