📅  最后修改于: 2023-12-03 15:22:39.784000             🧑  作者: Mango
在许多编程语言中,列表和数组是最基本且最常用的数据结构之一。C# 也不例外。在 C# 中,列表和数组都是基于索引的数据结构,可以存储大量的数据,并且支持许多常见的操作,如添加、删除、插入、排序等。
但是,有一点非常重要,那就是在 C# 中,列表和数组都是“等于顺序”的。这意味着它们内部存储的元素的顺序是固定的,而且不能直接更改。换句话说,如果你想在列表或数组中交换两个元素,或者将一个元素移动到数组的中间位置,你需要手动执行这些操作,并重新生成一个新的列表或数组。
让我们开始探索 C# 中列表的基本用法。首先,需要在代码中导入命名空间 System.Collections.Generic
,这个命名空间包含了一些 C# 中最常用的集合类,包括 List<T>
类,它是我们今天要介绍的。
要创建一个新的列表实例,只需使用以下代码:
List<string> lst = new List<string>();
上面的代码创建了一个空的字符串列表 lst
。可以使用 Add
方法向列表中添加一个新元素,使用 Count
属性获取当前列表中元素的数量,使用 Clear
方法清空列表中的所有元素:
lst.Add("apple");
lst.Add("banana");
lst.Add("cherry");
Console.WriteLine($"The list contains {lst.Count} elements: {string.Join(", ", lst)}");
lst.Clear();
Console.WriteLine($"The list is now empty. The Count is {lst.Count}");
输出:
The list contains 3 elements: apple, banana, cherry
The list is now empty. The Count is 0
可以看到,Count
属性返回当前列表中元素的数量,Clear
方法将列表清空。
可以使用 []
运算符根据索引获取或设置列表中的元素,也可以使用 Remove
方法删除指定索引处的元素:
lst.Add("apple");
lst.Add("banana");
lst.Add("cherry");
lst[1] = "orange";
Console.WriteLine($"The 2nd element is {lst[1]}");
lst.Remove("banana");
Console.WriteLine($"The list contains {lst.Count} elements: {string.Join(", ", lst)}");
输出:
The 2nd element is orange
The list contains 2 elements: apple, cherry
可以看到,使用 []
运算符可以获取或设置指定索引处的元素,Remove
方法可以删除指定元素。
数组是一种类似于列表的数据结构,但是数组具有固定的长度。在 C# 中,可以使用以下代码创建一个新的数组:
string[] arr = new string[3];
这将创建一个长度为 3 的字符串数组,可以使用索引访问或设置数组元素:
arr[0] = "apple";
arr[1] = "banana";
arr[2] = "cherry";
Console.WriteLine($"The array contains {arr.Length} elements: {string.Join(", ", arr)}");
arr[1] = "orange";
Console.WriteLine($"The 2nd element is {arr[1]}");
输出:
The array contains 3 elements: apple, banana, cherry
The 2nd element is orange
可以看到,与列表类似,可以使用索引访问或设置数组中的元素,并且可以使用 Length
属性获取数组的长度。
然而,与列表不同,数组的长度是固定的,不能直接更改。如果要添加或删除元素,需要重新创建一个新的数组。
列表和数组是 C# 中最常用的数据结构之一,它们都是“等于顺序”的,支持许多常见的操作,如添加、删除、插入、排序等。列表和数组的不同之处在于数组具有固定的长度,而列表可以动态地添加或删除元素。在实际开发中,需要根据具体需求选择适合的数据结构,以获得更好的性能和效率。