📜  C#列表(1)

📅  最后修改于: 2023-12-03 15:14:32.547000             🧑  作者: Mango

C# 列表

什么是 C# 列表?

C# 列表是一个用于存储一组对象的集合。这些对象可以是任意类型,包括数字、字符串、自定义对象等等。列表中的每个元素都有一个自己的索引,从 0 开始递增,可以通过索引访问和修改列表中的元素。

C# 中的列表类有多种实现方式,包括 List、LinkedList、Queue、Stack 等等。每种实现方式都有其自身的优缺点,开发者需要根据具体需求选择适合的列表类。

List

List 是 C# 中最常用的列表实现方式之一,它是一个动态数组,可以根据需要动态增加或删除元素。

List<string> list = new List<string>() { "apple", "banana", "cherry" };

list.Add("orange");
list.Insert(1, "pear");
list.Remove("banana");
list.RemoveAt(2);

foreach (string item in list)
{
    Console.WriteLine(item);
}

上面的代码演示了如何创建一个 List 对象,并通过 Add()、Insert()、Remove()、RemoveAt() 方法对列表中的元素进行增删操作。最后通过 foreach 循环遍历列表并输出其中所有元素。

LinkedList

LinkedList 是 C# 中另一种常用的列表实现方式,它是一个双向链表,每个节点都包含一个指向前一个节点和后一个节点的引用。相比于 List,LinkedList 在插入和删除元素时效率更高。但是,访问元素时需要遍历整个列表,效率较低。

LinkedList<string> list = new LinkedList<string>();

list.AddLast("apple");
list.AddLast("banana");
list.AddLast("cherry");
list.AddFirst("orange");

LinkedListNode<string> node = list.Find("banana");

if (node != null)
{
    list.AddAfter(node, "pear");
    list.Remove("cherry");
}

foreach (string item in list)
{
    Console.WriteLine(item);
}

上面的代码演示了如何创建一个 LinkedList 对象,并通过 AddLast()、AddFirst()、Find()、AddAfter()、Remove() 方法对列表中的元素进行增删操作。最后通过 foreach 循环遍历列表并输出其中所有元素。

Queue

Queue 是 C# 中的队列实现方式,它是一种先进先出的数据结构。队列中的元素从队尾入队,从队头出队。Queue 类提供了 Enqueue()、Dequeue()、Peek() 等方法用于操作队列中的元素。

Queue<string> queue = new Queue<string>();

queue.Enqueue("apple");
queue.Enqueue("banana");
queue.Enqueue("cherry");

Console.WriteLine(queue.Peek());
Console.WriteLine(queue.Dequeue());
Console.WriteLine(queue.Count);

foreach (string item in queue)
{
    Console.WriteLine(item);
}

上面的代码演示了如何创建一个 Queue 对象,并通过 Enqueue()、Dequeue()、Peek() 等方法对队列中的元素进行入队、出队、访问等操作。最后通过 foreach 循环遍历队列并输出其中所有元素。

Stack

Stack 是 C# 中的栈实现方式,它是一种后进先出的数据结构。栈中的元素从栈顶压入,从栈顶弹出。Stack 类提供了 Push()、Pop()、Peek() 等方法用于操作栈中的元素。

Stack<string> stack = new Stack<string>();

stack.Push("apple");
stack.Push("banana");
stack.Push("cherry");

Console.WriteLine(stack.Peek());
Console.WriteLine(stack.Pop());
Console.WriteLine(stack.Count);

foreach (string item in stack)
{
    Console.WriteLine(item);
}

上面的代码演示了如何创建一个 Stack 对象,并通过 Push()、Pop()、Peek() 等方法对栈中的元素进行压入、弹出、访问等操作。最后通过 foreach 循环遍历栈并输出其中所有元素。

总结

C# 中的列表类是开发者非常常用的数据结构,基本上每个项目都会用到。通过本文的介绍,你应该能够更好地掌握 C# 中的列表实现方式,以便在实际开发中选择合适的列表类。