C# Contains(T):确定 ICollection是否包含特定值

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是否包含特定值 - Python技术站

(0)
上一篇 2023年4月19日
下一篇 2023年4月19日

相关文章

  • 一篇文章带你轻松了解C# Lock关键字

    一篇文章带你轻松了解C# Lock关键字 Lock关键字是什么 Lock是C#编程中非常重要的一个关键字,主要用来进行多线程编程时的同步控制。在多线程程序中,不同的线程会同时对同一数据进行访问,如果没有同步控制,则有可能发生数据竞争的问题。使用Lock关键字可以保证在同一时间只有一个线程对共享资源进行访问。 Lock关键字的用法 Lock关键字用法非常简单,…

    C# 2023年5月15日
    00
  • C#连接加密的Sqlite数据库的方法

    针对“C#连接加密的Sqlite数据库的方法”的问题,我来给您提供以下完整攻略: 1. 准备工作 在开始C#连接加密的Sqlite数据库之前,我们需要先安装相关的软件工具,包括: Sqlite数据库,可通过官方网站(https://www.sqlite.org/download.html)下载对应的安装包 SQLite-Encrypt加密扩展,可通过NuGe…

    C# 2023年6月1日
    00
  • 详解C#如何实现读写ini文件

    下面就详细讲解一下如何在C#中读写ini文件。 什么是ini文件 ini是一种配置文件,它是Windows操作系统中常用的一种配置文件格式,常用于存放程序的配置信息,如窗口大小、颜色等。 读取ini文件 1. 使用Win32 API C#可以通过调用Win32 API函数读取ini文件。主要函数有GetPrivateProfileString和GetPriv…

    C# 2023年5月15日
    00
  • C#适用于like语句的SQL格式化函数

    当我们在使用SQL语句查询一些字符串字段时,经常使用like语句进行模糊匹配。而在使用C#编写的程序中,我们通常需要将查询结果装载到某个类中,以便于后面的数据处理。这时,如果采用了字符串拼接的方式生成SQL语句,不仅不够安全,而且也不方便后续的操作,此时我们就需要借助“C#适用于like语句的SQL格式化函数”来处理SQL语句。 Step 1. 安装Dapp…

    C# 2023年6月7日
    00
  • C# 删除字符串中的中文(实例分享)

    对于这个主题,我会提供一些基于markdown的标准文本格式的攻略,帮助你更好地理解。 标题 首先,我们需要使用markdown的标准标题格式来说明这个主题。用一个一级标题来概括主题: C# 删除字符串中的中文(实例分享) 然后,我们使用二级标题来讲解具体步骤: 步骤 安装NuGet包System.Text.RegularExpressions csharp…

    C# 2023年6月8日
    00
  • C#使用StreamWriter写入文件的方法

    下面是详细讲解“C#使用StreamWriter写入文件的方法”的攻略: 1. StreamWriter概述 StreamWriter 是 C# 中的一个基于字符的文件写入类,它能够读取文本文件并将文本写入到文件中。 StreamWriter 类提供了各种重载的构造函数和写入函数来帮助我们实现文件写入操作。此外,该类还提供了语法简单并且易于使用的方法,这使得…

    C# 2023年6月1日
    00
  • net core下链路追踪skywalking安装和简单使用教程

    .NET Core下链路追踪SkyWalking安装和简单使用教程 在本攻略中,我们将详细讲解如何在.NET Core应用程序中安装和使用SkyWalking进行链路追踪,并提供两个示例说明。 SkyWalking简介 SkyWalking是一个开源的分布式系统追踪解决方案,可以帮助开发人员更好地了解应用程序的性能和行为。SkyWalking支持多种语言和框…

    C# 2023年5月16日
    00
  • windows中使用C# 调用 C语言生成的dll

    准备工作 首先,确保你会C#开发,并且已经安装好了Visual Studio。其次,我们需要准备一个C语言的dll,作为我们的示例,我们将使用以下的代码: #include <stdio.h> int add_numbers(int a, int b) { return a + b; } 保存以上代码到一个add_numbers.c的文件中。接下…

    C# 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部