当我们有跟多类型一样的数据的时候,我们可以使用集合类来进行管理,比如列表List,我们可以使用列表List很方便的添加数据,删除数据还有其他操作。
(数组的缺点:数组的大小是固定的,不能增加数据)
using System.Collections.Generic;//List需要引入命名空间
using System.Collections.Generic;
列表内部数据是使用数组进行存储的,一个空的列表内部会有一个长度为0的数组, 当给数组添加 1-4个数据时,列表的长度会自动扩大为4,如果添加第5个数据的时候,列表会自动扩容为8,如果列表添加第9个数据的时候,列表的长度会自动扩大到16,……,以此类推。当列表中的容量发生变换的时候,它会自动创建一个新的数组,使用Array.Copy()方法将旧数组的中的所有元素复制到新的数组中。为了节省时间,如果事先知道要存储的数据的个数,就可以利用列表的构造函数指定列表的容量大小。
List<int> intlist = new List<int>(10);//创建一个容量为10的列表,当容量不够时,每次都会按照原来容量的2倍进行扩容。
using System.Collections.Generic;//List需要引入命名空间
//空列表的创建
List<int> scoreList1 = new List<int>(); //创建一个空的列表,通过<>声明列表储存的数据类型
var scoreList2 = new List<int>();
//创建列表并初始化数据
var scoreList3 = new List<int>() {1, 2, 3, 4, 5, 6, 7, 5, 2, 9, 3, 4};
List<int> scoreList4 = new List<int>() {1, 2, 2, 3};
List<int> intlist = new List<int>(10);
scoreList3.Add(50); //列表末尾插入数据
scoreList3.Insert(0, 963); //在指定索引处插入指定数据
scoreList3.Remove(2); //删除指定数据的第一个匹配项
scoreList3.RemoveAt(3); //删除指定索引的数据
//scoreList3.Clear();//移除列表中的所有元素
int indexOf = scoreList3.IndexOf(7); //获取指定数据的第一个元素的索引,如过没有则返回-1
int lastIndexOf = scoreList3.LastIndexOf(7); //获取指定数据 从后往前的第一个匹配项的索引,如果没有返回-1
int cap = scoreList3.Capacity; //获取列表的容量
int cou = scoreList3.Count; //获取列表的长度 数据的个数
Console.WriteLine($"{cap},{cou}");
foreach (var i in scoreList3)
{
Console.Write(i+" ");
}
Console.WriteLine();
scoreList3.Sort();
foreach (var i in scoreList3)
{
Console.Write(" "+i);
}
//空列表的创建
List<int> scoreList1 = new List<int>(); //创建一个空的列表,通过<>声明列表储存的数据类型
var scoreList2 = new List<int>();
//创建列表并初始化数据
var scoreList3 = new List<int>() {1, 2, 3, 4, 5, 6, 7, 5, 2, 9, 3, 4};
List<int> scoreList4 = new List<int>() {1, 2, 2, 3};
List<int> intlist = new List<int>(10);
scoreList3.Add(50); //列表末尾插入数据
scoreList3.Insert(0, 963); //在指定索引处插入指定数据
scoreList3.Remove(2); //删除指定数据的第一个匹配项
scoreList3.RemoveAt(3); //删除指定索引的数据
//scoreList3.Clear();//移除列表中的所有元素
int indexOf = scoreList3.IndexOf(7); //获取指定数据的第一个元素的索引,如过没有则返回-1
int lastIndexOf = scoreList3.LastIndexOf(7); //获取指定数据 从后往前的第一个匹配项的索引,如果没有返回-1
int cap = scoreList3.Capacity; //获取列表的容量
int cou = scoreList3.Count; //获取列表的长度 数据的个数
Console.WriteLine($"{cap},{cou}");
foreach (var i in scoreList3)
{
Console.Write(i+" ");
}
Console.WriteLine();
scoreList3.Sort();
foreach (var i in scoreList3)
{
Console.Write(" "+i);
}