外勤365在线登录-beat365官网下载-36500365体育在线投注

C# List(列表)

C# List(列表)

C# FileInfoC# ArrayList(动态数组)

C# List(列表)

List 是强类型对象的集合,可以通过索引对其进行访问,并具有用于排序,搜索和修改列表的方法。 它是System.Collection.Generic命名空间下的ArrayList的泛型版本。

List 特性List 等效于ArrayList,它实现了IList

它在System.Collection.Generic命名空间下。

List可以包含指定类型的元素。它提供编译时类型检查,并且不执行装箱/拆箱,因为它是泛型的。

可以使用Add(),AddRange()方法或collection-initializer(集合初始化器)语法添加元素。

可以通过传递索引来访问元素,例如myList[0]。索引从零开始。

List与ArrayList相比,执行速度更快,出错更少。

创建ListList是一个泛型集合,所以你需要指定它可以存储的数据类型的类型参数。以下示例显示了如何创建列表和添加元素。

示例:在列表中添加元素List primeNumbers = new List();

primeNumbers.Add(1); // 使用add()方法添加元素

primeNumbers.Add(3);

primeNumbers.Add(5);

primeNumbers.Add(7);

var cities = new List();

cities.Add("New York");

cities.Add("London");

cities.Add("Mumbai");

cities.Add("Chicago");

cities.Add(null);// 引用类型列表允许为null

//使用collection-initializer语法添加元素

var bigCities = new List()

{

"New York",

"London",

"Mumbai",

"Chicago"

};在上面的示例中,

List primeNumbers = new List();创建int类型的列表。同样,cities 和 bigcity是字符串类型的 List。然后可以使用add()方法或集合初始值设定项语法在列表中添加元素。

还可以使用集合初始化器(collection-initializer)语法添加自定义类的元素。下面示例在 List < Student > 中添加 Student 类的对象。

示例:在列表中添加自定义类对象var students = new List() {

new Student(){ Id = 1, Name="Bill"},

new Student(){ Id = 2, Name="Steve"},

new Student(){ Id = 3, Name="Ram"},

new Student(){ Id = 4, Name="Abdul"}

};在List中添加数组使用AddRange()方法将数组或另一个集合中的所有元素添加到List。

AddRange() 签名:

void AddRange(IEnumerable collection)示例:在列表中添加数组string[] cities = new string[3]{ "Mumbai", "London", "New York" };

var popularCities = new List();

// 在列表中添加数组

popularCities.AddRange(cities);

var favouriteCities = new List();

// 添加列表

favouriteCities.AddRange(popularCities);访问List可以通过索引、 for/foreach 循环和使用 LINQ 查询访问列表。列表的索引从零开始。传递方括号中的索引以访问单个列表项,与数组相同。使用 foreach 或 for 循环迭代 List 集合。

示例:访问List 列表List numbers = new List() { 1, 2, 5, 7, 8, 10 };

Console.WriteLine(numbers[0]); // 版画1

Console.WriteLine(numbers[1]); // 版画2

Console.WriteLine(numbers[2]); // 版画5

Console.WriteLine(numbers[3]); // 版画7

// 使用foreach LINQ方法

numbers.ForEach(num => Console.WriteLine(num + ", "));//打印1,2,5,7,8,10,

// 使用for循环

for(int i = 0; i < numbers.Count; i++)

Console.WriteLine(numbers[i]);使用LINQ访问列表List实现IEnumerable接口。因此,我们可以使用LINQ查询语法或方法语法来查询列表,如下所示。

示例:列表上的LINQ查询var students = new List() {

new Student(){ Id = 1, Name="Bill"},

new Student(){ Id = 2, Name="Steve"},

new Student(){ Id = 3, Name="Ram"},

new Student(){ Id = 4, Name="Abdul"}

};

//得到所有名字叫 Bill 的学生

var result = from s in students

where s.Name == "Bill"

select s;

foreach(var student in result)

Console.WriteLine(student.Id + ", " + student.Name);在列表(List)中插入元素使用该Insert()方法将元素插入List指定索引处的集合中。

Insert() 签名:

void Insert(int index, T item);示例:将元素插入列表var numbers = new List(){ 10, 20, 30, 40 };

numbers.Insert(1, 11);// 在第一个索引处插入11,在10之后。

foreach (var num in numbers)

Console.Write(num);从列表(List)中删除元素使用Remove()方法删除List集合中第一个出现的指定元素。使用RemoveAt()方法从指定索引中删除元素。如果指定索引处没有元素,则将抛出ArgumentOutOfRangeException。

Remove() 签名

bool Remove(T item)RemoveAt() 签名

void RemoveAt(int index)示例:从列表中删除元素var numbers = new List(){ 10, 20, 30, 40, 10 };

numbers.Remove(10); // 从列表中删除10

numbers.RemoveAt(2); //删除第三个元素(索引从0开始)

//numbers.RemoveAt(10); //抛出ArgumentOutOfRangeException

foreach (var el in intList)

Console.Write(el); // 输出 20 30检查列表(List)中的元素使用Contains()方法确定元素是否在 List 中。

示例: Contains()var numbers = new List(){ 10, 20, 30, 40 };

numbers.Contains(10); // 返回true

numbers.Contains(11); // 返回false

numbers.Contains(20); // 返回trueList 类层次结构下图说明了List层次结构。

List 类的属性和方法下表列出了重要的List类的属性和方法:

属性用法Items获取或设置指定索引处的元素Count返回List 中存在的元素总数方法用法Add在List 的末尾添加元素。AddRange将指定集合的元素添加到List 的末尾。BinarySearch搜索元素并返回该元素的索引。Clear从List 中删除所有元素。Contains检查指定元素在List 中是否存在。Find根据指定的谓词函数查找第一个元素。Foreach遍历 List 。Insert在List 中的指定索引处插入元素。InsertRange在指定的索引处插入另一个集合的元素。Remove删除指定元素的第一次出现。RemoveAt删除指定索引处的元素。RemoveRange删除所有与提供的谓词功能匹配的元素。Sort对所有元素进行排序。TrimExcess将容量设置为实际的元素数。TrueForAll确定List 中的每个元素是否与指定谓词定义的条件匹配。C# FileInfoC# ArrayList(动态数组)

相关推荐