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日

相关文章

  • 用.NET Core写爬虫爬取电影天堂

    用.NET Core写爬虫爬取电影天堂 在本攻略中,我们将详细介绍如何使用.NET Core编写爬虫程序,爬取电影天堂网站上的电影信息,并提供两个示例说明。 1. 安装依赖 在.NET Core应用程序中,需要安装以下依赖才能实现爬虫功能。可以按照以下步骤操作: 打开Visual Studio 2019。 打开“工具”菜单,选择“NuGet包管理器”-&gt…

    C# 2023年5月16日
    00
  • C#异常处理知识汇总

    C#异常处理知识汇总 什么是异常 异常是指程序运行过程中,出现了不可预测的错误或者状态,导致程序无法正常执行。异常属于错误,不能被忽略,需要进行处理。 C#中的异常处理 在C#中,可以使用try-catch语句进行异常处理。其基本语法结构如下: try { // 可能会抛出异常的代码块 } catch (Exception ex) { // 异常处理代码块 …

    C# 2023年5月15日
    00
  • c#中抽象类和接口的详细介绍

    关于”C#中抽象类和接口的详细介绍”,我可以提供以下内容: 抽象类 抽象类是指包含抽象成员(抽象方法、属性、索引器或事件)的类。抽象类本身不能被实例化,而是用作其他非抽象类的基类。一个派生类必须实现从其抽象基类继承的所有抽象成员,否则,该派生类本身也必须被声明为抽象类。 定义抽象类 抽象类可以使用abstract关键字定义,如下所示: public abst…

    C# 2023年6月1日
    00
  • Unity Shader实现玻璃材质效果

    下面是Unity Shader实现玻璃材质效果的完整攻略: 第一步:创建一个透明材质球 首先,在Unity中创建一个透明材质球。在Unity菜单栏中选择Assets->Create->Material,右键选择Rename,将Material更名为“Glass”。 第二步:设置Glass的Shader为Transparent 在“Glass”的I…

    C# 2023年6月3日
    00
  • Docker结合.Net Core的初步使用教程

    Docker结合.Net Core的初步使用教程 Docker是一种容器化技术,可以将应用程序及其依赖项打包到一个容器中,以便在不同的环境中运行。在本文中,我们将介绍如何使用Docker结合.Net Core来构建和运行应用程序,并提供两个示例来说明如何使用它们。 安装Docker 在开始之前,我们需要安装Docker。可以在Docker官网下载适用于您的操…

    C# 2023年5月17日
    00
  • c# 如何实现不同进程之间的通信

    下面是关于“C#如何实现不同进程之间的通信”的完整攻略,包含两个示例。 1. 什么是进程间通信 进程间通信(IPC)是指在不同进程之间传递数据或信号的机制。在C#中,我们可以使用多种方式实现进程间通信,例如命名管道、共享内存、消息队列等。 2. 示例1:使用命名管道实现进程间通信 以下是一个示例,演示如何使用命名管道实现进程间通信: // 服务端 using…

    C# 2023年5月15日
    00
  • C#中Linq的去重方式Distinct详解

    C#中Linq的去重方式Distinct详解 在C#中使用Linq可以方便地操作集合数据,去重是常见的操作之一,Distinct方法可以帮助我们快速实现去重。 Distinct方法的语法 使用Linq的Distinct方法可以对一个集合进行去重。其语法如下: public static IEnumerable<TSource> Distinct&…

    C# 2023年6月1日
    00
  • C#控制台实现简单飞行棋游戏

    C#控制台实现简单飞行棋游戏 简介 飞行棋是一种流行的棋类游戏,本文将使用C#语言实现简单飞行棋游戏,并详细讲解实现过程。 游戏规则 飞行棋又叫中国军棋或跳飞机棋,是中国流行的棋类游戏。游戏比较简单,适合两人或四人游戏。 游戏玩法: 每个玩家选定一枚棋子,开始时所有棋子都在棋盘入口处。 根据玩家掷骰子的点数,棋子向前移动对应的步数。 遇到别人的棋子或己方棋子…

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