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日

相关文章

  • matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析

    Matplotlib是一个具有强大绘图功能的Python库,其运行时配置(Runtime Configuration,rc)参数rcParams可以设置绘图参数,如字体大小、线条宽度、颜色等,使得Matplotlib绘图更加个性化、符合需求。 rcParams是一个Python字典对象,包含了Matplotlib的所有绘图参数设置。可以通过修改字典中的键值对…

    C# 2023年5月31日
    00
  • Unity3D实现虚拟按钮控制人物移动效果

    下面是“Unity3D实现虚拟按钮控制人物移动效果”的完整攻略: 需求分析 我们需要实现一个虚拟按钮,用于控制人物的移动效果,包括角色的左右移动和跳跃功能。 环境配置 首先需要创建一个Unity项目,并导入角色和场景资源。接着创建一个空的GameObject,命名为“UI”。在UI下创建一个Canvas,并调整Canvas的层级为第三层。 在Canvas下创…

    C# 2023年6月3日
    00
  • ASP.NET数据绑定的记忆碎片实现代码

    ASP.NET数据绑定的记忆碎片实现代码的攻略主要包括以下几个步骤: 设置控件的ViewStateMode属性为Enabled <asp:DropDownList ID="DropDownList1" runat="server" ViewStateMode="Enabled"> Vie…

    C# 2023年5月31日
    00
  • C#模拟MSN窗体抖动的实现代码

    C#模拟MSN窗体抖动的实现代码一般可以采用以下三个步骤: 1.获取窗体当前位置,并定义抖动偏移量; 2.在一定时间内不断改变窗体位置,实现抖动效果; 3.在抖动结束后恢复原始窗体位置。 具体实现步骤如下: 第一步:获取窗体当前位置和定义抖动偏移量 //获取窗口当前位置 Point OldPoint = this.Location; //定义抖动偏移量,根据…

    C# 2023年5月31日
    00
  • C# 获取属性名的方法

    获取 C# 对象的属性名可能是我们在开发中需要经常使用到的操作。下面是获取 C# 对象属性名的两种常见方式: 通过字符串常量 我们可以通过字符串常量获取对应属性名。首先我们需要在对象中声明属性,然后使用字符串常量将属性名称与属性值绑定。下面是一个使用字符串常量获取属性名的示例代码: using System; namespace AttributeDemo …

    C# 2023年5月31日
    00
  • C#时间格式化(Datetime)用法详解

    C#时间格式化(Datetime)用法详解 在C#编程中,时间格式化是一个非常重要的应用,不同的时间格式化操作可以让我们更好的理解和处理时间数据。这篇文章将会详细介绍C#时间格式化的用法和示例。 1. 时间格式化基础 C#通过DateTime类型来表示日期时间。DateTime类型属性包含日期和时间,还有一些特定的格式,下面是一些常用的时间格式化操作: 格式…

    C# 2023年6月1日
    00
  • C#面向对象实现图书管理系统

    C#面向对象实现图书管理系统 系统简介 图书管理系统是一个用于管理图书馆和书店的软件系统。该系统可以实现对图书的入库、出库、借阅、归还等操作,同时还可以对图书进行查询、统计、打印等功能的实现。本文介绍使用C#面向对象的编程思想实现图书管理系统的完整攻略。 系统设计 系统结构设计 我们可以将图书管理系统分为以下几个模块: 用户管理模块:用于管理系统用户的登录、…

    C# 2023年5月31日
    00
  • C#使用LINQ查询操作符实例代码(二)

    首先我们来了解一下这篇文章的大致内容: 本文主要介绍了 C# 使用 LINQ 查询操作符的实例代码,主要包括查询操作符的基础知识、查询语法和方法语法、Lambda表达式等内容。 下面,我们来逐步分析一下这篇文章涉及到的各部分内容。 1. 查询操作符的基础知识 这部分主要介绍了什么是查询操作符,它们的基本结构和分类等。这些基础知识为后续的操作奠定了基础。例如:…

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