c# List和Dictionary常用的操作

1. List(列表)

List是C#中常用的数据结构之一,它能够存储多个相同类型的元素,类似于数组。与数组不同的是,List的大小是可变的,可以动态添加或删除元素。

在C#中,我们可以使用List类来创建和操作列表。以下是一些常用的List操作:

1.1 创建List

要创建一个空的List,可以使用List类的默认构造函数:

List<int> myList = new List<int>();

上述代码创建了一个空的整数列表。

如果要在创建List时添加一些初始元素,可以使用带有初始元素的构造函数:

List<int> myList = new List<int>() { 1, 2, 3, 4, 5 };

上述代码创建了一个包含5个整数的列表。

1.2 添加元素

要向List添加新元素,可以使用Add()方法:

myList.Add(6);

上述代码向列表添加了一个新的整数元素6。

1.3 访问元素

要访问List中的元素,可以使用索引:

int firstElement = myList[0];

上述代码访问了列表中的第一个元素。

1.4 删除元素

要删除List中的元素,可以使用Remove()方法:

myList.Remove(3);

上述代码将列表中的第一个等于3的元素删除。

1.5 查找元素

要查找List中的元素,可以使用Contains()方法:

bool containsElement = myList.Contains(2);

上述代码检查列表中是否存在等于2的元素。如果存在,containsElement将为true,否则为false。

2. Dictionary(字典)

Dictionary是C#中另一个常用的数据结构,它存储键值对,类似于字典的定义。每个键都必须是唯一的,但值可以重复。

以下是一些常用的Dictionary操作:

2.1 创建Dictionary

要创建一个空的Dictionary,可以使用Dictionary类的默认构造函数:

Dictionary<string, int> myDictionary = new Dictionary<string, int>();

上述代码创建了一个空的字符串到整数的映射。

如果要在创建Dictionary时添加一些初始键值对,可以使用带有初始键值对的构造函数:

Dictionary<string, int> myDictionary = new Dictionary<string, int>()

{

{ "apple", 1 },

{ "banana", 2 },

{ "orange", 3 }

};

上述代码创建了一个包含三个键值对的字典。

2.2 添加键值对

要向Dictionary中添加新的键值对,可以使用Add()方法:

myDictionary.Add("grape", 4);

上述代码将一个新的键值对("grape", 4)添加到字典中。

2.3 访问值

要访问Dictionary中的值,可以使用键来获取值:

int value = myDictionary["apple"];

上述代码获取了键为"apple"的值。

2.4 删除键值对

要删除Dictionary中的键值对,可以使用Remove()方法:

myDictionary.Remove("banana");

上述代码将键为"banana"的键值对从字典中删除。

2.5 查找键

要查找Dictionary中的键,可以使用ContainsKey()方法:

bool containsKey = myDictionary.ContainsKey("orange");

上述代码检查字典中是否存在键"orange"。如果存在,containsKey将为true,否则为false。

2.6 查找值

要查找Dictionary中的值,可以使用ContainsValue()方法:

bool containsValue = myDictionary.ContainsValue(2);

上述代码检查字典中是否存在值为2的值。如果存在,containsValue将为true,否则为false。

总结

通过使用List和Dictionary,我们可以更方便地处理多个元素和键值对。List可以动态地存储和操作多个元素,而Dictionary可以存储和操作键值对。

在使用List和Dictionary时,我们可以使用相应的方法来添加、访问、删除和查找元素或键值对。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签