📅  最后修改于: 2023-12-03 14:39:45.254000             🧑  作者: Mango
有时候,在 C# 编程中我们需要判断一个值是否存在于列表(List)中。这个需要用到一些内置的方法。
我们可以使用 List
以下是一个示例代码:
List<int> lstNumbers = new List<int>() { 1, 2, 3, 4, 5 };
int searchValue = 3;
if (lstNumbers.Contains(searchValue))
{
Console.WriteLine($"列表中包含了值 {searchValue}。");
}
else
{
Console.WriteLine($"列表中不包含值 {searchValue}。");
}
输出结果是:列表中包含了值 3.
如果你的列表中是一组自定义对象(例如,一个学生列表),你需要重写自定义对象中的 Equals() 方法。这个方法需要用到自定义对象中代表其唯一性的属性。
以下是一个示例代码:
public class Student
{
public int StudentId { get; set; }
public string Name { get; set; }
public int Grade { get; set; }
public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
Student s = obj as Student;
if (s == null)
{
return false;
}
return (s.StudentId == this.StudentId);
}
public override int GetHashCode()
{
return this.StudentId.GetHashCode();
}
}
List<Student> lstStudents = new List<Student>() {
new Student() { StudentId = 1, Name = "Alice", Grade = 90 },
new Student() { StudentId = 2, Name = "Bob", Grade = 80 },
new Student() { StudentId = 3, Name = "Charlie", Grade = 95 }
};
Student searchStudent = new Student() { StudentId = 2, Name = "Bob", Grade = 80 };
if (lstStudents.Contains(searchStudent))
{
Console.WriteLine($"列表中包含了学生 {searchStudent.Name}。");
}
else
{
Console.WriteLine($"列表中不包含学生 {searchStudent.Name}。");
}
输出结果是:列表中包含了学生 Bob.
判断一个值是否存在于列表中是 C# 编程中十分常见的需求。使用 List