C#列表List常用属性和方法

1.创建列表

(列表可以存储任何类型的数据,在创建列表对象的时候首先要指定你要创建的这个列表要存储什么类型的)(泛型)

        //创建列表
        //方法一
        List<int> intList = new List<int>();//创建了一个空的列表 通过类型后面的<>来表示这个列表存储的数据的类型
        //方法二
        var intlist1 = new List<string>();
        //方法三
        var intlist2 = new List<int>(){1,2,3};//创建了一个列表,里面的初始值有三个分别为 1 2 3

2.遍历列表

for循环,遍历所有的索引,通过索引访问列表中的元素

for(int i=0;i<list.Count;i++){
	//循环体list[i]
}

2,foreach遍历

		foreach(var temp in list){ //依次取得list中的每一个元素赋值给temp,并执行循环体
			//循环体 temp
		}

3.列表的常用属性方法

1,Capacity获取容量大小
2,Add()方法添加元素

    var scoreList = new List<int>();
    scoreList.Add(12);
    scoreList.Add(34);
    scoreList.Add(56);
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    Console.ReadKey();

在这里插入图片描述

3,Insert()方法插入元素

    var scoreList = new List<int>(){100,200,300,100};
    //遍历列表
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    
  		  Console.WriteLine();
        scoreList.Insert(3, -100);//向指定索引位置插入元素,原来的元素向后移动一位。插入索引不能超出索引范围,插入索引最大可为scoreList.Count

        foreach (var temp in scoreList)
        {
            Console.Write(temp + " ");
        }
        Console.WriteLine();
        Console.ReadKey();

在这里插入图片描述

4,[index]访问元素
5,Count属性访问元素个数
6,RemoveAt()方法移除指定位置的元素

    scoreList.RemoveAt(1);//removeAt(index)填入要删除的索引

7,IndexOf()方法取得一个元素所在列表中的索引位置
LastIndexOf()上面的方法是从前往后搜索,这个是从后往前搜索,搜索到满足条件的就停止,上面的两个方法,如果没有找到指定元素就返回-1

    var scoreList = new List<int>(){100,200,300,100};
    //遍历列表
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    Console.WriteLine();
    Console.WriteLine(scoreList.IndexOf(400));查找不到返回-1
    Console.WriteLine(scoreList.IndexOf(100));
    Console.WriteLine(scoreList.LastIndexOf(100));
    Console.ReadKey();

在这里插入图片描述
8,Sort()对列表中是元素进行从小到大排序

    var scoreList = new List<int>(){100,200,300,100};
    //遍历列表
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }

    Console.WriteLine();

    scoreList.Sort();//排序
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    Console.WriteLine();
    Console.ReadKey();

在这里插入图片描述

关于列表的更多内容

1,列表内部数据是使用数组进行的存储,一个空的列表内部会有一个长度为0的数组,当给列表中添加元素的时候,列表的容量会扩大为4,如果添加第5个的时候,列表的大小会重新设置为8,如果添加第9个元素,列表容量会扩大为16,依次增加。当列表的中的容量发生改变的时候,它会创建一个新的数组,使用Array.Copy()方法将旧数组中的元素复制到新数组中。为了节省时间,如果事先知道要存储的数据的个数,就可以利用列表的构造函数指定列表的容量大小,比如下面的
List intlist = new List(10);创建了一个初始容量为10的列表,当容量不够用的时候,每次都会按照原来容量的2倍进行扩容。
我们可以通过Capacity属性获取和设置容量
intList.Capacity = 100;
2,注意容量和列表中元素个数的区别,容量是列表中用于存储数据的数组的长度通过Capacity 获取,列表中的元素是我们添加进去需要管理的数据,通过Count获取
例如

        List<int> intList = new List<int>();//创建列表
        for (int i = 0; i < 20; i++)
        {
            Console.WriteLine("列表长度:" + intList.Capacity + " 元素个数:" + intList.Count);
            intList.Add(10);
        }
        Console.ReadKey();

在这里插入图片描述

  • 48
    点赞
  • 280
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值