📌  相关文章
📜  列表等于顺序 c# (1)

📅  最后修改于: 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# 中最常用的数据结构之一,它们都是“等于顺序”的,支持许多常见的操作,如添加、删除、插入、排序等。列表和数组的不同之处在于数组具有固定的长度,而列表可以动态地添加或删除元素。在实际开发中,需要根据具体需求选择适合的数据结构,以获得更好的性能和效率。