C# Linq的Where()方法 – 筛选序列中满足指定条件的元素

C# 中的 Linq(Language Integrated Query)提供了一组极具表现力的 API 以使用语言的简洁 和查询能力。其中,Where() 是 Linq 中最常用的操作符之一,主要用于根据指定的条件筛选出序列中满足条件的元素,并返回这个元素组成的新序列。

该操作符的基本语法如下:

public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);

其中,source 参数是要进行筛选的源序列;predicate 参数是一个委托,用于指定选择条件,它会作用于序列的每个元素,返回一个布尔值表示该元素是否被选中。如果某个元素满足该条件,则被包含在结果序列中,否则被排除。

下面提供两个示例来说明 Where() 的使用:

  1. 从一个整数序列中筛选出所有大于 5 的元素,生成一个新的序列。
using System;
using System.Linq;

class Program {
    static void Main(string[] args) {
        int[] numbers = { 3, 5, 8, 2, 7, 1, 9, 4, 6 };
        var result = numbers.Where(n => n > 5);

        Console.WriteLine("Numbers greater than 5:");
        foreach (var n in result) {
            Console.WriteLine(n);
        }
    }
}

输出结果:

Numbers greater than 5:
8
7
9
6
  1. 从一个字符串数组中筛选出所有长度大于等于 5,且以某个指定的字符开头的元素,生成一个新的序列。
using System;
using System.Linq;

class Program {
    static void Main(string[] args) {
        string[] words = { "apple", "banana", "cherry", "strewberry", "pear", "orange" };
        char startChar = 's';
        var result = words.Where(w => w.Length >= 5 && w.StartsWith(startChar.ToString()));

        Console.WriteLine($"Words starting with '{startChar}', and have length >= 5:");
        foreach (var w in result) {
            Console.WriteLine(w);
        }
    }
}

输出结果:

Words starting with 's', and have length >= 5:
strewberry

在以上示例中,我们通过使用 Where() 操作符,方便地从源序列中选出满足特定条件的元素,并将它们存储到新的序列中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# Linq的Where()方法 – 筛选序列中满足指定条件的元素 - Python技术站

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

相关文章

  • Asp.Net Core控制器如何接收原始请求正文内容详解

    在 ASP.NET Core 中,控制器可以通过多种方式接收请求正文内容,包括原始请求正文内容。以下是如何在 ASP.NET Core 控制器中接收原始请求正文内容的详细攻略。 步骤 步骤1:创建 ASP.NET Core 应用程序 首先,我们需要创建一个 ASP.NET Core 应用程序。可以使用 Visual Studio 或者命令行工具创建应用程序。…

    C# 2023年5月17日
    00
  • 运行Windows终端(PowerShell)提示由于找不到mscoree.dll无法继续执行代码

    当在Windows终端(PowerShell)中运行代码时,可能会遇到“找不到mscoree.dll”错误。这个错误通常是由于.NET Framework未正确安装或未正确注册所致。以下是解决此问题的完整攻略。 1. 确认.NET Framework已正确安装 首先,我们需要确认.NET Framework已正确安装。可以通过以下步骤检查: 打开“控制面板”…

    C# 2023年5月15日
    00
  • C#编程实现发送邮件的方法(可添加附件)

    C#编程实现发送邮件的方法(可添加附件) 简介 在C#编程中需要经常发邮件,通常使用SMTP客户端类库实现邮件的发送。本篇攻略将详细讲解C#编程实现发送邮件的方法,并提供两个示例说明。 发送邮件的前置条件 在操作系统中需要安装SMTP服务,以用来发送邮件。常用的SMTP服务器有163邮箱、126邮箱、QQ邮箱、Gmail邮箱等,不同的邮箱提供不同的SMTP服…

    C# 2023年6月1日
    00
  • 详解C# Protobuf如何做到0分配内存的序列化

    C# protobuf是Google开发的一种高效的序列化格式。相较于其他序列化方式(比如XML或Json),它所占用的空间更少,同时速度更快,因为它是二进制序列化格式。在进行序列化过程中,内存的分配是一个非常重要的问题,因为大量的内存分配会导致性能下降甚至内存溢出。本文将详细介绍C# protobuf如何实现0分配内存的序列化。 一、使用“MemorySt…

    C# 2023年5月31日
    00
  • C#商品管理系统简易版

    C#商品管理系统简易版攻略 1. 基础准备 安装Visual Studio:在官网上下载 Visual Studio 安装包,按照提示进行安装即可。 掌握C#基础语法:熟悉C#关键词、变量类型、循环语句、条件语句等基础语法,在基础上可以更好地理解代码的实现逻辑。 2. 搭建初始界面 在 Visual Studio 中创建一个 Windows Form 应用程…

    C# 2023年6月7日
    00
  • C#中Override关键字和New关键字的用法详解

    在C#中,Override关键字和New关键字都用于重写父类成员。但是,它们的用法和效果有所不同。本文将详细介绍Override关键字和New关键字的用法和区别。 Override关键字 Override关键字用于重写父类的虚方法或抽象方法。以下是一个示例: class Animal { public virtual void Speak() { Conso…

    C# 2023年5月15日
    00
  • ADO.NET实用技巧两则

    下面是“ADO.NET实用技巧两则”的完整攻略: ADO.NET实用技巧一:使用DataReader处理大批量数据 在处理大量数据时,使用DataReader可以有效地减少内存占用。 实现方法 使用SqlCommand查询数据 “`csharp string connectionString = “YourConnectionString”; SqlCon…

    C# 2023年6月3日
    00
  • 用juery的ajax方法调用aspx.cs页面中的webmethod方法示例

    使用jQuery的ajax方法调用aspx.cs页面中的WebMethod方法需要经过以下步骤: 在aspx.cs文件中创建一个公共静态方法,并使用WebMethod属性进行标记。这个方法将被用来提供JSON格式数据给前端。 以下是一个简单的示例: using System.Web.Services; using System.Web.Script.Seri…

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