.Net C# Linq Select 方法

C#-linq实战005-查询-Select 投射元素到新的表单中: 1:条件语句(Where)中返回的结果就是讲元素投射到新的表单中,因此查询方法在大部分的情况下,select可以省略,只有需要类中某个元素时才会使用select方法获取某个元素投射到新的表单中。 2:在linq写法(查询语句)中必须使用select结尾,这是标准规定。 1:将序列中的每个元素投影到新表单 IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource 阅读详情

在使用Linq的Select方法时,很多时候可以让我们少些一些循环遍历的代码,select方法可以对集合按照指定的条件筛选处理并最终返回一个新的集合。适用于一层循环并判断或运算等场景。

select方法的2个重载对应的委托:

Func<TSource, TResult> selector (传入泛型参数,返回泛型参数)

Func<TSource, int, TResult> selector (第二个参数为集合中的索引)

参考代码:

public static void LinqSelectMain()
        {
            DataList data = new();
            Console.WriteLine($"ListInt-集合原始数据-{string.Join(' ', data.ListInt)}");
            Console.WriteLine($"ListStr-集合原始数据-{string.Join(' ', data.ListStr)}");
            {
                //简单运算
                var list = data.ListInt.Select(i => i > 4);
                Console.WriteLine(string.Join(' ', list));
            }
            {
                //简单运算
                var list = data.ListInt.Select(i => i + 1);
                Console.WriteLine(string.Join(' ', list));
            }
            {
                //对字符串遍历并返回将元素转为大写字母的新集合
                var list = data.ListStr.Select(s => s.ToUpper());
                Console.WriteLine(string.Join(' ', list));
            }
            {
                //可以在委托中完成逻辑运算并返回新的结果集合
                var list = data.ListInt.Select(i =>
                {
                    if (i > 7)
                        return 7;
                    else if (i < 3)
                        return 3;
                    else
                        return i;
                });
                Console.WriteLine(string.Join(' ', list));
            }
            {
                //第二个重载委托中第二个参数为集合中的索引
                var list = data.ListInt.Select((i, index) =>
                {
                    if (i > 7)
                        return $"索引-{index}";
                    else if (i < 3)
                        return $"索引-{index}";
                    else
                        return "不输出索引";
                });
                Console.WriteLine(string.Join(' ', list));
            }
        }

输出结果:

 

Linq语法之Select语句 在Linq查询表达式中,Select语句和Where语句是使用最多的语句,所以我们接下来就线对Select语句进行全面的解析,select 子句可以指定将在执行查询时产生的值的类型。该子句的结果将基于前面所有子句的计算结果以及 select 子句本身中的所有表达式。查询表达式必须以 select 子句或 group 子句结束。Select操作包括7种形式,分别为简单用法匿名类型形式条件形式筛选形式嵌套类型形式本地方法调用形式Distinct形式。get;set;get;set; 阅读详情

相关推荐

suse ha for sap scale-up性能优化场景安装配置

suse ha for SAP安装配置

jetliu05的博客 2139

C# LINQ源码分析之Select

在开发过程中,LINQ代码库中的Select方法经常被使用,为了更好的了解该方法,我们从源码的角度对其进行分析。了解如何以最优的方式,使用该方法,从而提升代码的性能。

weixin_43263355的博客 1万+

MATLAB实战:手把手教你搭建构网逆变器同步稳定性仿真模型(附避坑指南)

本文详细介绍了如何在MATLAB/Simulink平台上搭建构网逆变器同步稳定性仿真模型,涵盖从基础模块配置到虚拟同步机控制实现的完整流程。针对电力电子工程师常见的控制参数整定困难、仿真结果偏差等问题,提供了LCL滤波器谐振抑制、虚拟惯量优化等关键技术解决方案,并附有避坑指南和工程实践技巧,助力研究者高效完成仿真建模。

weixin_29051193的博客 297

C#学习相关系列之Linq用法---where和select用法(二)

本文介绍了C#中Linq用法的select和where相关用法

qiaodahua的博客 7120

结合 Conda 手动安装 RepeatMasker

RepeatMasker 是一个广泛使用的生物信息学工具,用于识别和屏蔽(mask)基因组序列中的 重复序列(repeats) 。在使用过程中需要调用重复序列数据库(Repbase 和 Dfam),如果使用Conda安装的话会出现许多问题,因此推荐手动安装。在此记录我手动安装RepeatMasker的流程,希望对各位同学有所帮助。

m0_65437087的博客 2536

企业碳排放计算方法与实践:从年度总量到月度分配的完整流程

本文系统介绍了企业碳排放计算的全流程方法,包括数据预处理、能源活动与产品生产碳排放计算、年度汇总及月度分配优化。通过ARIMA模型预测补充缺失数据,采用二次规划算法实现基于用电量模式的月度碳排放分配,确保计算结果的准确性与合理性。该方法为企业碳排放管理提供了科学工具,有助于精准监控排放、制定减排策略并满足合规要求。实施中需注重数据质量控制和排放因子选择,并根据企业特点调整参数。该流程适用于制造业企业,为实现碳中和目标提供可靠的数据基础和管理支持。

applehunqiu的博客 1573

C# LINQ常用操作方法——提升你的编程效率

C# LINQ是一个强大而灵活的查询工具,它能够显著提高开发人员的编程效率。本文介绍了一些常用的LINQ操作方法,从基础的查询操作到更复杂的进阶操作,希望能帮助你更好地应用LINQ进行数据查询与处理。通过灵活运用这些操作方法,你能够更快速、简洁地处理各种数据操作需求。对于那些有大量数据处理需求的开发人员来说,LINQ是不可或缺的工具。MSDN文档:https://docs.microsoft.com/en-us/dotnet/api/system.linq.queryable?

故事不长丨的博客 3862

开源工具对比:5款主流大数据脱敏框架评测

数据脱敏(Data Masking/Anonymization),也称为数据漂白、数据去标识化,是指在不影响数据可用性的前提下,通过一定的技术手段对敏感信息进行处理,使其无法被识别或关联到具体个人或实体的过程。当应用程序向数据库写入数据(INSERT/UPDATE)时,ShardingSphere 会拦截 SQL,对配置了脱敏规则的字段,使用指定的算法进行加密/脱敏处理,然后将处理后的数据写入到。如果你的答案是“是”,那么数据脱敏,尤其是针对海量数据的。好的,各位技术同仁,数据安全领域的探索者们,大家好。

小程序开发 1184

linq查询语句与查询方法

linq(Language Integrated Query,语言集成查询)是微软提供的一项新技术,能够将查询功能直接引入到C#、VB.NET等编程语言中,查询操作可以通过编程语言自身来表示,而不是嵌入字符串SQL语句。 Linq to Objects主要负责对象的查询,Linq to XML主要负责xml的查询,linq to ADO.Net主要负责数据库的查询。 Linq所在的命名空间...

小贾爱编程的博客 595

一篇文章带你搞定数学建模中的线性回归模型(05年长江水质问题示例讲解含代码)

文章目录一、问题分析二、原理讲解三、MATLAB 实现线性回归模型 一、问题分析 根据你的预测分析,如果未来10年内每年都要求长江干流的Ⅳ类和Ⅴ类水的比例控制在20%以内,且没有劣Ⅴ类水,那么每年需要处理多少污水 为了达到题目中所要求的水质,可建立废水排放量与各类水百分比之间的二元线性回归模型,对未来十年的废水排放量进行预测,并确定其与各类水所占百分比之间的函数关系式。通过此关系式,可以计算在这种情况下长江所能承受的最大污水排放量,将这个排放量与预测的排放量进行比较,多出来的部分就是需要每年处理掉的。 二、

南淮北安的博客 2166

〔重庆理工大学〕计算机组成原理课设报告--16位单周期CPU设计

本课程设计的实验平台为Altera Quartus II 软件和Altera Cyclone V Starter 工具箱。(1)Cyclone V是Altera FPGAs家族的一类,它面向低功耗应用。Cyclone V GX 5CGXFC5C6F27C7N 芯片有不同的转换器,按钮,LED灯,七段显示器,HDMI接口,SD卡读卡器以及其他链接等。Cyclone V GX 5CGXFC5C6F27C7N是Starter工具箱的重要组件。(2)测试台包含在测设备(DUT)和用于仿真的模拟输入。

Pretty Boy Fox的博客 1066

C#常用的LinQ方法

返回集合中唯一的元素,或满足条件的唯一元素,如果没有则返回默认值,如果有多个则抛出异常。: 返回集合中唯一的元素,或满足条件的唯一元素,如果没有或有多个则抛出异常。: 返回集合中的第一个元素,或满足条件的第一个元素,如果没有则返回默认值。: 返回集合中的第一个元素,或满足条件的第一个元素。: 检查集合中是否存在任何满足条件的元素。: 根据指定的条件筛选集合中的元素。: 返回集合中某个字段的最大值。: 返回集合中某个字段的最小值。: 计算集合中元素的数量。: 返回集合中不同的元素。: 对集合进行排序。

m0_69115733的博客 483

专栏二十:如何选择你的单细胞亚群的分辨率--ROGUE

ROGUE这是继chooseR后第二个计算单细胞亚群分辨率的内容,其实关于代码的运行很简单,网上已经有不少教程,重复这些就没意思了,这里主要是结合探讨一下这个算法。

m0_58549466的博客 981

LINQ查询

LINQ能够解决的问题 .NET平台开发中一直存在的情况: 面向对象编程语言与数据库访问方法长期分离,以嵌入式方式开发 嵌入式SQL语句没有任何提示,很容易出错 编程语言中的数据类型与数据库中的数据类型完全是两套体系 例如:C#中字符串string在SQL中使用varchar/Nvarchar/char来表示 SQL和XML都有各自的查询语言,而对象没有自己的查询语言 例如:要从一个List< T>集合或者数组中找到符合要求的元素非常困难。 LINQ查

方丈山的博客 337

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C#中的Linq表达式

C#中的Linq表达式 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术: VS 作者:小益 撰写时间:2021年6月17日 一、Linq的介绍 LINQ to SQL全称基于关系数据的.NET语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能。Linq中where查询与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断.

m0_57735713的博客 655

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VS08新特性之LINQ 基础

。回顾请说出三条以上 C# 3.0 的新特性请说出扩展方法定义的语法格式使用 var 和 object 声明变量有什么区别?。本章任务编写 LINQBasic 程序使用Lambda表达式查询数组使用委托和匿名方法操作字符串。本章目标掌握 LINQ 中的基本概念掌握 LINQ 的组成理解委托和匿名方法理解 Lambda 表达式掌握基本查询方法:Select()Where()OrderBy()

aabbcczy的专栏 1290

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

.NET(C#) Linq Select和SelectMany的使用及区别

Linq是Language Integrated Query的简称,它是微软在.NET Framework 3.5里面新加入的特性,用以简化查询查询操作。本文主要介绍.NET(C#) 中Linq的Select和SelectMany操作符的使用及区别。 原文地址:.NET(C#) Linq Select和SelectMany的使用及区别 ...

weixin_42098295的博客 583

.NET知识梳理——6.lambda

1. lambda 1.1 匿名方法lambda表达式 Lambda表达式 Lambda是一个匿名方法,实例化委托的一个参数,编译的时候会产生一个密封类,同时增加一个方法。 Lambda表达式的演化 过程如下: public delegate void ShowInfo(string name, int age); 1.1.1 .NET Framework 1.0 ...

xuemoyao的专栏 501

C#之Linq查询表达式

一、什么是Linq 1.Linq也叫“查询表达式”,是将查询功能直接集成到C#语言种的一种技术。 2.Linq提供以下数据源的查询功能 1)对象集合(支持IEnumberable或IEnumberable<T>的) 2)SQL数据库 3)Xml文档 4)ADO.NET数据库 5)Web服务 /* 学习查询表达式Linq 支持的查询环境 1:对象集合 */ class Demo{ public void Test1(){ //对象集合(支持IEnumber

weixin_49251429的博客 3330

LINQ

LINQ概述 LINQ由三部分组成:LINQ TO ADO.NET.LINQ TO Objects和LINQ TO XML;LINQ TO ADO.NET可分为LINQ TO SQL 和LINQ TO DATASET. 1.使用var创建隐型局部变量 在c#中可以不明确指定变量的数据类型,使用var关键字来声明.它指示编译器根据初始化语句右侧的表达式来推断变量的类型 例 static vo...

qq_41368899的博客 229

.NET中那些所谓的新语法之四:标准查询运算符与LINQ

开篇:在上一篇中,我们了解了预定义委托与Lambda表达式等所谓的新语法,这一篇我们继续征程,看看标准查询运算符和LINQ。标准查询运算符是定义在System.Linq.Enumerable类中的50多个为IEnumerable<T>准备的扩展方法,而LINQ则是一种类似于SQL风格的查询表达式,它们可以大大方便我们的日常开发工作。因此,需要我们予以关注起来! /* 新语法索引 */...

黑色幽默 324

16.1.4 使用 LINQ 的声明性事件处理

16.1.4 使用 LINQ 的声明性事件处理       要在 C# 中把事件当作一等值使用,可以使用 .NET 4.0 的 IObservable 类型,但是需要一些补充。第一,必须有一种方法,从标准的 .NET 事件创建 IObservable 的值 。第二,我们需要来自 Observable 模块的 C# 版本,我们在上一节中使用的。   注意

心想事成 921

【无标题】linq详解

GroupBy 返回的是一个 IGrouping<TKey, TElement> 集合,其中 TKey 是分组键的类型,TElement 是原始集合中元素的类型。延迟执行:和 Select 类似,Where 操作也是延迟执行的,意味着它不会立即执行,直到调用如 ToList(), ToArray(), Count() 等终结操作时才真正运行。在 C# 中,Where 方法接受一个谓词(即一个返回布尔值的函数)作为参数,用来判断集合中的每个元素是否应该被包含在最终的结果集中。

山水CAD 二次开发 1081

C# 移除数组中重复数据

#region 移除数组中重复数据 /// /// 移除数组中重复数据 /// /// 需要除重的数组 /// 不重复数组 public static string[] DelRepeatData(string[] array) { return array.

勿忘初心 1万+
上一篇: .Net C# 通过IServiceProvider手动获取注入的服务
下一篇: .Net C# Linq SelectMany 方法
一个堆栈
博客等级 码龄13年 76粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个堆栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值