📜  c# 在列表列表中查找元素 - C# (1)

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

在列表中查找元素 - C#

在C#中,我们常常需要在一个列表中查找一个特定的元素,以便进行后续操作。C#提供了多种方式来实现这一目的,如下所述。

List.Contains 方法
List<int> numbers = new List<int> { 4, 5, 6, 7, 8 };

bool contains = numbers.Contains(6); // returns true

使用 Contains 方法可以轻松查找列表中是否包含指定的元素。Contains 方法需要传入一个泛型参数 T,以表示需要查找的元素类型,并返回一个 bool 类型的值表示是否找到了指定元素。

List.Find 方法
List<string> fruits = new List<string> { "apple", "banana", "cherry" };

string firstFruitWithA = fruits.Find(fruit => fruit.StartsWith("a")); // returns "apple"

Find 方法可以根据条件查找列表中的一个元素。Find 方法需要传入一个 Predicate<T> 委托参数,以表示用于匹配元素的条件,并返回一个 T 类型的值表示找到的元素。如果没有找到符合条件的元素,Find 方法会返回默认值(如 null 或零)。

List.FindIndex 方法
List<int> numbers = new List<int> { 4, 5, 6, 7, 8 };

int index = numbers.FindIndex(number => number > 5); // returns 2

FindIndex 方法可以根据条件查找列表中符合条件的元素索引。FindIndex 方法需要传入一个 Predicate<T> 委托参数,以表示用于匹配元素的条件,并返回一个 int 类型的值表示找到元素的索引。如果没有找到符合条件的元素,FindIndex 方法会返回 -1。

List.FindAll 方法
List<int> numbers = new List<int> { 4, 5, 6, 7, 8 };

List<int> evenNumbers = numbers.FindAll(number => number % 2 == 0); // returns [4, 6, 8]

FindAll 方法可以根据条件查找列表中符合条件的所有元素。FindAll 方法需要传入一个 Predicate<T> 委托参数,以表示用于匹配元素的条件,并返回一个包含所有匹配元素的新列表。

以上几种方法都可以方便地查找列表中的元素。选择具体使用哪种方法需要根据实际需求来决定。