C# Contains(T)方法的完整攻略
简介
Contains(T)是C#的泛型方法,用于判断某个集合是否包含某个指定元素。方法返回值为bool类型,如果集合中包含该元素,则返回true,否则返回false。
方法签名
public static bool Contains<TSource>(this IEnumerable<TSource> source, TSource value);
参数说明
source
: 需要搜索的IEnumerable集合。value
: 要搜索的元素。
示例说明
示例1
下面的示例演示了如何使用Contains(T)方法:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
// 创建一个字符串列表
List<string> names = new List<string> { "John", "Jane", "Bob", "Alice" };
// 搜索元素
bool result1 = names.Contains("John"); // true
bool result2 = names.Contains("Peter"); // false
// 显示结果
Console.WriteLine(result1); // True
Console.WriteLine(result2); // False
}
}
在以上示例中,我们创建了一个字符串列表,包含4个元素。然后我们使用Contains(T)方法搜索了两个元素:“John”和“Peter”并将结果存储在result1和result2变量中,最后打印出结果。
示例2
下面的示例演示了如何使用Contains(T)方法在自定义类中搜索元素:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
// 创建一个Person类对象列表
List<Person> people = new List<Person> {
new Person { Name = "John", Age = 30 },
new Person { Name = "Jane", Age = 25 },
new Person { Name = "Bob", Age = 40 },
new Person { Name = "Alice", Age = 35 }
};
// 实例化一个Person对象
Person p = new Person { Name = "John", Age = 30 };
// 搜索元素
bool result1 = people.Contains(p, new PersonEqualityComparer()); // true
bool result2 = people.Contains(new Person { Name = "John", Age = 20 }, new PersonEqualityComparer()); // false
// 显示结果
Console.WriteLine(result1); // True
Console.WriteLine(result2); // False
}
}
class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class PersonEqualityComparer : IEqualityComparer<Person>
{
public bool Equals(Person x, Person y)
{
return x.Name == y.Name && x.Age == y.Age;
}
public int GetHashCode(Person obj)
{
return (obj.Name + obj.Age).GetHashCode();
}
}
在以上示例中,我们创建了一个Person类对象列表。然后我们实例化了一个Person对象p,并使用Contains(T)方法搜索了两个元素:“p”和“new Person { Name = "John", Age = 20 }”并将结果存储在result1和result2变量中,最后打印出结果。值得注意的是,为了使Contains(T)方法正确工作,我们需要提供一个实现IEqualityComparer接口的自定义比较器类(PersonEqualityComparer)以确保正确比较两个Person对象。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# Contains(T):确定 ICollection