C#提供了许多有用的方法来处理数据,其中之一是Contains()。Contains()方法是一个泛型方法,它可以用于任何集合或数组中。它可以检查集合或数组中是否包含给定的元素。当集合或数组中包含要搜索的元素时,该方法将返回true,否则返回false。
使用语法
以下是Contains()方法的语法:
public static bool Contains<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, TSource value);
- source:要搜索的集合或数组。
- value:要查找的元素。
示例
示例1:使用Contains查找整数元素
以下示例演示了如何使用Contains()方法在整数数组中查找指定的元素。
int[] numbers = { 1, 2, 3, 4, 5 };
int search = 3;
bool result = numbers.Contains(search);
if (result)
{
Console.WriteLine("{0}存在数组中", search);
}
else
{
Console.WriteLine("{0}不存在于数组中", search);
}
输出结果:
3存在于数组中
示例2:使用Contains查找自定义元素
以下示例演示了如何使用Contains()方法在自定义对象的列表中查找指定的元素。
class Employee
{
public int ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
List<Employee> employees = new List<Employee>()
{
new Employee { ID = 1, Name = "张三", Age = 25 },
new Employee { ID = 2, Name = "李四", Age = 30 },
new Employee { ID = 3, Name = "王五", Age = 35 }
};
Employee searchEmployee = new Employee { ID = 2, Name = "李四", Age = 30 };
bool result = employees.Contains(searchEmployee, new EmployeeComparer());
if (result)
{
Console.WriteLine("员工存在于列表中");
}
else
{
Console.WriteLine("员工不存在于列表中");
}
class EmployeeComparer: IEqualityComparer<Employee>
{
public bool Equals(Employee x, Employee y)
{
if (x.ID == y.ID && x.Name == y.Name && x.Age == y.Age)
{
return true;
}
else
{
return false;
}
}
public int GetHashCode(Employee obj)
{
return obj.ID.GetHashCode();
}
}
输出结果:
员工存在于列表中
在此示例中,我们创建一个Employee类,其中包含Employee的ID,Name和Age属性。然后,我们使用List集合创建一个包含三个Employee对象的employees列表。这里要注意的一点是,我们创建了一个名为EmployeeComparer的自定义类,以便对Employee对象进行比较。
最后,我们创建了一个名为searchEmployee的Employee对象,其中包含ID,Name和Age属性的值与Employee对象在employees列表中的第二个元素完全相同。接下来,我们使用Contains()方法将searchEmployee对象与employees列表进行比较。因为这两个对象是相等的,所以输出结果为“员工存在于列表中”。
以上就是C#中使用Contains()方法的攻略。