看到一个老代码里的方法,是判断两个string 数组是否存在相同的元素:

快一百行代码了。。。。。

public bool HasRole(string[] roleList)
{
bool result;
string[] roleListStored, roleListInput;
string itemStoredToLower; result = false; roleListStored = this.roleList;
roleListInput = roleList; if ((roleListStored != null) &&
(roleListInput != null))
{
foreach (string itemStored in roleListStored)
{
if (itemStored != null)
{
itemStoredToLower = itemStored.ToLower(); foreach (string itemInput in roleListInput)
{
if ((itemInput != null) &&
(itemInput.ToLower() == itemStoredToLower))
{
result = true; break;
}
} if (result)
{
break;
}
}
}
} return result;
}

  

用Lamda表达式 简化语法例子,3行就行了:

    string[] roleLis = new string[] { "18","22","95"};
string[] roleLisInput = new string[] { "1", "22","8","5" };
var s = roleLisInput.Count(n => string.IsNullOrEmpty(n) == false && n.ToLower()== roleLis.FirstOrDefault(n2 => n2 == n.ToLower()))>0;

  或者

var exists = roleLisInput.Count(n => string.IsNullOrEmpty(n) == false && roleLis.Any(n2 => n2 == n.ToLower()))>0;

c# Lamda表达式 简化语法例子的更多相关文章

  1. Java使用lamda表达式简化代码

    代码,自然写的越简洁越好啦,写的人舒服,看的人也舒服,一切为了高效. 要把有限的时间花到其它有意思的事情上去. 目的 学习简化代码的思路,使用jdk8新特性lamada表达式. 使用 某接口,只有一个 ...

  2. jdk8系列一、jdk8 Lamda表达式语法、接口的默认方法和静态方法、supplier用法

    一.简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性. 在本文中我们将学习这些新特性,并用实际 ...

  3. c# 匿名函数和lamda表达式语法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. lamda表达式学习

    lamda表达式 “Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型. 格式:( 形参列表 ) => { 函数体 } 所有 Lambda 表达式 ...

  5. C#委托 Lamda表达式

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. lamda 表达式

    Lamda 表达式 高阶语言中的lamda表达式, 灵感来自于lamda演算.lamda演算包括一条变换规则 (变量替换) 和一条函数定义方式, 通过带入和替换, 对输入产生输出. Connect 新 ...

  7. JAVA8新特性——Lamda表达式

    JAVA9都要出来了,JAVA8新特性都没搞清楚,是不是有点掉队哦~ Lamda表达式,读作λ表达式,它实质属于函数式编程的概念,要理解函数式编程的产生目的,就要先理解匿名内部类. 先来看看传统的匿名 ...

  8. java8-详解Lamda表达式

    一回顾与说明     通过之前发布的"Java8Lamda和Stream原理引入"一文章中你已经了解了为什么会有Lamda表达式的由来,Lamda表达式的基本语法等:Lamda表达 ...

  9. Java --Lamda表达式

    Lamda:属于函数式编程的概念: interface IMessage { public void print() ; } public class TestDemo { public static ...

  10. 29 匿名内部类、函数型接口、lamda表达式的引入

    匿名内部类 参考:https://www.runoob.com/w3cnote/java-inner-class-intro.html 进入后搜索匿名内部类. 函数型接口 函数式接口(Function ...

随机推荐

  1. Python自带difflib模块

    官方文档:https://docs.python.org/3/library/difflib.html difflib模块的作用是比对文本之间的差异,且支持输出可读性比较强的HTML文档,与Linux ...

  2. 斜率优化初探:以 [HNOI2008]玩具装箱 为例

    题目传送门 记 \(f[i]\) 表示装好前 \(i\) 个的最小花费.容易写出转移: \[f[i] = \min_{j \lt i} \ [f[j]+(s[i] - s[j] - 1 - L) ^ ...

  3. C# 删除Word文档中的段落

    在编辑Word文档时,我们有时需要调整段落的布局.删除不必要的段落以优化文档的结构和阅读体验.本文将通过以下3个简单示例演示如何使用免费.NET库删除Word文档中的段落 . C# 删除Word中的指 ...

  4. 为 .NET Conf 2024 做好准备之本地社区活动 .NET Conf China 2024 启动

    .NET Conf 2024 是一个面向.NET生态系统社区的大型活动,将于2024年11月12日至14日举行.该活动将通过YouTube和Twitch进行现场直播,并在dotnetconf.net网 ...

  5. 简单几步,基于云主机快速为Web项目添加AI助手

    在华为开发者空间,借助华为云对话机器人服务 CBS您可以零代码创建一个大模型 RAG (Retrieval-Augmented Generation,即检索增强生成)应用,来实现 AI 助手的智能问答 ...

  6. curl访问etcd报错unable to set private key file

    [appdeploy@1a32vla0168zzzz cfssl]$ curl -i https://xxx.xxx.xxx.5:2379/health --cacert /app/etcd/cfss ...

  7. JAXP(Java API for XML Parsing)

    JAXP(Java API for XML Parsing)    过去几年中,XML分折已经被标准为两个不同的处理模型:SAX(Simple API for XML)以及DOM(Document O ...

  8. WinUI(WASDK)使用BotSharp框架开发多智能体桌面机器人管理助手(生图开关灯不在话下)

    前言 大语言模型(Large Language Models, LLMs)近年来在各行各业中展现出了巨大的潜力和影响力.从自然语言处理到自动化客服,从内容生成到智能助手,LLMs正在改变我们与技术互动 ...

  9. CudaSPONGE之Python接口

    技术背景 在上一篇博客中我们介绍了CudaSPONGE的基本安装和使用方法.为了性能考虑,CudaSPONGE是基于纯CUDA C开发的,但是现在很多轮子都是Python开发的.为兼容更多的框架和平台 ...

  10. xtrabackup脚本

    xtrabackup是MySQL的一种物理备份工具,相对于mysqldump,备份和还原速度更快 , 我写了一份可以进行备份 + 还原的脚本 #!bin/bash all_bak_path=" ...