不积跬步无以至千里

不积小流无以成江海

C#中列表List的创建与使用

集合类 列表List

当我们有很多类型一样的数据时,可以使用数组来进行存储并管理,但是这样的缺点是数组的大小是提前给定的、是固定的。
如果我们有许多类型一样但数量不定的数据,我们可以使用集合类来进行管理——例如列表List。我们可以使用列表List很方便的添加数据,删除数据以及其他的一些数据操作。
创建方法1:

List<int> scoreList = new List<int>();//创建了一个空列表

创建方法2:

var scoreList = new List<int>();//创建了一个空列表

初始化的创建:

var scoreList = new List<int> {1,2,3};

向列表中插入数据:

scoreList.Add(4);

列表中的数据也是有索引值的,可以直接根据索引返回数据。

关于列表的其他知识

  • 列表内部数据其实是使用数组进行存储的。一个空的列表内部会有一个长度为0的数组。当对列表中添加元素时,列表的容量会扩大到4,如果添加第五个元素时,列表的大小就会重新扩大到8,以此类推。一次2倍的形式增加。
    当列表的容量发生改变时,它会创建一个新的数组,使用Array.Copy()方法将就数组中的元素复制到新数组中。为了节省时间,如果事先知道所要存储的元素的个数,就可以利用列表的构造函数指定列表的容量大小,例如:
List<int> intList = new List<int> (10);
//创建了一个容量为10的列表
//当容量不够时,每次都会按照原来的2倍进行容量的扩充

我们可以通过Capacity属性来获取和设置容量大小。

intList.Capacity = 100;
  • 注意容量和列表中的元素个数的区别。
    容量是列表中用于存储数据的数组的长度,通过Capacity进行获取。
    而列表中的严肃则是我们添加进去的、需要管理的数据,通过Count进行获取。

列表的遍历

两种遍历方式

  • for循环
    遍历所有的索引,通过索引访问列表中的元素
for(int i = 0; i < list.Count; i++)  
{
    //循环体list[i]
}
  • foreach循环
    依次获得list中的每一个元素,赋值给temp,并执行循环体
foreach(int temp in list)   
{
    //循环体temp
}
阅读更多
版权声明:仅供参考与学习交流 https://blog.csdn.net/lym940928/article/details/79952286
个人分类: C# Self-Culture
上一篇66. Plus One
下一篇263. Ugly Number
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭