0

0

使用 LINQ 从对象列表中查找负双精度数的 C# 程序

PHPz

PHPz

发布时间:2023-09-03 16:37:02

|

1263人浏览过

|

来源于tutorialspoint

转载

使用 linq 从对象列表中查找负双精度数的 c# 程序

介绍

在本文中,我们将学习如何编写 C# 程序以使用 LINQ 从对象列表中查找负双数。

让我们对该语言进行一个简单的概述。 C# 编程语言经常用于开发桌面、Web 和移动应用程序。使用任何编程语言处理大量数据都可能很困难。查找满足一组特定要求的数据点或过滤掉特定值是处理数据时的常见活动。 C# 的语言集成查询 (LINQ) 功能可用于简化和改进数据处理。开发人员可以快速查询来自各种来源的数据,包括数组、集合和数据库。它使开发人员能够使用与 SQL(结构化查询语言)相当的语法,并支持简单的数据操作和排序。由于LINQ的语法与SQL类似,开发人员可以轻松学习和使用它。

问题陈述

在本文中,我们将演示如何使用LINQ从对象列表中找到负的双精度数。要使用LINQ从此列表中找到负的双精度数,我们需要执行以下步骤 -

  • 从列表中过滤掉重复的值。

  • 从列表中过滤掉负双精度值。

我们可以通过将Where()函数与OfType()方法结合使用来实现这一点。让我们逐个介绍它们以及它们的语法 -

OfType()

的翻译为:

OfType()

OfType() 方法用于根据给定的类型过滤 IEnumerable 的元素。换句话说,该方法用于根据列表或序列源是否具有将项目集合转换为特定类型的能力来过滤列表或序列源。如果提供的源为 null,则会抛出 ArgumentNullException 异常。

语法

public static System.Collections.Generic.IEnumerable OfType(this System.Collections.IEnumerable source); 

Where()

的翻译为:

Where()

使用Where()方法根据谓词函数过滤值。也可以说它根据指定的条件或要求返回序列或列表中的值。

语法

Where(IEnumerable, Func) 

让我们创建一个包含不同数据类型对象的列表。

Input List: { 3.14, -2.71, "hello", 0, “-7.5”, "world", -4.2, ‘a’, -3}

我们已经得到了一个包含不同数据类型的元素列表。现在输出将只包含负的双精度数。

聚蜂消防BeesFPD
聚蜂消防BeesFPD

关注消防领域的智慧云平台

下载
Output: {-2.71, -4.2}

让我们理解

算法

步骤 1 - 创建一个对象列表

List list = new List() 

第二步 - 从列表中选择双倍值。

我们可以使用 LINQ 的 OfType() 方法从列表中删除 double 值。在过滤集合后,此函数仅返回所提供类型“double”的元素。在我们的情况下,我们希望仅删除列表的双精度值。以下是我们如何应用此策略 -

var doubles = list.OfType(); 

步骤3 - 从列表中选择的双精度值中,选择负的双精度值。必须使用过滤器从集合中过滤出负的双精度值。可以使用LINQ Where()方法来实现这一点。该方法在应用过滤器到集合后,仅返回与过滤器匹配的元素。在这种情况下,我们只想过滤出集合中的负的双精度值。以下是如何应用这种技术。

var negativeDoubles = doubles.Where(d => d < 0); 

第 4 步 - 最后,使用 foreach 循环打印负双精度数。

foreach (var d in doubles)
{
   Console.WriteLine(d);
}

这些是从列表中获取负数的简单步骤。让我们来看看代码。

示例

using System;
using System.Collections.Generic;
using System.Linq;
class Program {
   static void Main(string[] args) {
      List list = new List {
         -2,3.14, -2.71, "hello", 0,"-7.5" , "world", -4.2
      };
      var doubles = list.OfType().Where(d => d < 0);
      foreach (var d in doubles) {
         Console.WriteLine(d);
      }
   }
}

输出

上述代码的输出是 -

-2.71 
-4.2 

注意 − 这里你可能会想为什么没有提到-2和-7.5。这是因为-2是一个负数,但不是一个双精度数。而-7.5被写作“-7.5”,被视为一个字符串。

结论

在这篇文章中,我们展示了如何在C#中使用LINQ来从对象列表中找到负的双精度数。我们使用了两种方法Where()和OfType()来编写代码。我们简要讨论了Where()和OfType()方法。问题陈述通过一个例子进行了解释。在我们讨论了算法之后。最后,显示了代码和输出。我们希望这篇文章能帮助您增加对这个主题的知识和理解。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
公务员递补名单公布时间 公务员递补要求
公务员递补名单公布时间 公务员递补要求

公务员递补名单公布时间不固定,通常在面试前,由招录单位(如国家知识产权局、海关等)发布,依据是原入围考生放弃资格,会按笔试成绩从高到低递补,递补考生需按公告要求限时确认并提交材料,及时参加面试/体检等后续环节。要求核心是按招录单位公告及时响应、提交材料(确认书、资格复审材料)并准时参加面试。

0

2026.01.15

公务员调剂条件 2026调剂公告时间
公务员调剂条件 2026调剂公告时间

(一)符合拟调剂职位所要求的资格条件。 (二)公共科目笔试成绩同时达到拟调剂职位和原报考职位的合格分数线,且考试类别相同。 拟调剂职位设置了专业科目笔试条件的,专业科目笔试成绩还须同时达到合格分数线,且考试类别相同。 (三)未进入原报考职位面试人员名单。

4

2026.01.15

国考成绩查询入口 国考分数公布时间2026
国考成绩查询入口 国考分数公布时间2026

笔试成绩查询入口已开通,考生可登录国家公务员局中央机关及其直属机构2026年度考试录用公务员专题网站http://bm.scs.gov.cn/pp/gkweb/core/web/ui/business/examResult/written_result.html,查询笔试成绩和合格分数线,点击“笔试成绩查询”按钮,凭借身份证及准考证进行查询。

2

2026.01.15

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

63

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

32

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

73

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

20

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

25

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

7

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号