首页 > 其他分享 >LINQ和lambda表达式

LINQ和lambda表达式

时间:2023-07-15 18:33:08浏览次数:41  
标签:q1 count Console int LINQ 表达式 WriteLine select lambda

LINQ:

select结尾,from开头(from->where->groupby->having->orderby->join->select)

            var tt = from aa in cd
                     select aa.Count();//查询一个值就不用数组

连接数组,join in放在select前面

            var ty = from a1 in wer//用var或者IEnumerable<int>,他是一个集合来着
                     where a1.count > 1
                     join t in werr on a1.q1 equals t.id
                     select new int[] { a1.q1, a1.count, t.id, t.age };//查询多个值要用数组或者实体类

实体类:

    public class mo
    {
        public int q1 { get; set; }
        public int count { get; set; }
    }
            var re = from f in cd
                     from q in f
                     where q > 2
                     select new mo {//实体类
                         q1 = q,
                         count = f.Count()
                     };

lambda表达式:

委托:Func:有返回值的委托;Action:无返回值的委托

Func<int, int> a = (age) => age - 1;//a:函数名;age:参数;age-1:方法体;<int,int>第一个是输入类型,第二个是返回值
unc < (int, int),(int,int,int)> s1 = ns => (ns.Item1,ns.Item2,ns.Item1+ns.Item2);//第一个括号是输入类型,第二个括号是返回值
 Console.WriteLine(a(12));//调用委托

            Action<string> greet = name =>//无返回值所以Action<输入类型>
            {
                string greeting = $"Hello {name}!";
                Console.WriteLine(greeting);
            };

 

LINQ一般和lambda表达式一起用

            int i1 = a.Where(y => y > 2).Count();
            int i2 = a.Where(y => y > 2).Sum();
            IEnumerable<int> v = a.Where(i => i > 1).Take(3);
            IEnumerable<int> w = a.Where(i => i > 2);

循环输出:

            foreach(int[] g in ty)
            {
                Console.WriteLine($"{g[0]},{g[1]},{g[2]},{g[3]}");
            }
            foreach (mo o in re)
            {
                Console.WriteLine(o.q1);
                Console.WriteLine($"数量是:{o.count}");
            }
            foreach (int[] p in io)
            {
                foreach (int op in p)
                {
                    Console.WriteLine(op);
                }
            }

 

标签:q1,count,Console,int,LINQ,表达式,WriteLine,select,lambda
From: https://www.cnblogs.com/lin-07/p/17556668.html

相关文章

  • 如何使用C#中的Lambda表达式操作Redis Hash结构,简化缓存中对象属性的读写操作
    Redis是一个开源的、高性能的、基于内存的键值数据库,它支持多种数据结构,如字符串、列表、集合、散列、有序集合等。其中,Redis的散列(Hash)结构是一个常用的结构,今天跟大家分享一个我的日常操作,如何使用Redis的散列(Hash)结构来缓存和查询对象的属性值,以及如何用Lambda表达式树来简化......
  • 可以彻底告别手写正则表达式了
    这篇文章的目的是让你能得到完美的正则表达式,而且还不用自己拼。说到正则表达式,一直是令我头疼的问题,这家伙一般时候用不到,等用到的时候发现它的规则是一点儿也记不住,\d表示一个数字,\s表示包括下划线在内的任意单词字符,也就是 [A-Za-z0-9_],还有[\s\S]*可以匹配包括换行在内的任......
  • Lambda表达式
    1基础介绍1.1概念介绍Java Lambda表达式是Java8中最重要的新特性之一。它们是一种可传递的匿名函数,可以作为参数传递给方法或存储在变量中,因此可以在需要的时候调用它们。Lambda表达式的主要目的是简化Java代码,使其更易于阅读和编写。 Lambda表达式的语法非常简洁和清晰......
  • 正整数正则表达式
    正整数正则表达式正数的正则表达式(包括0,小数保留两位):^((0{1}.\d{1,2})|([1-9]\d.{1}\d{1,2})|([1-9]+\d)|0)$正数的正则表达式(不包括0,小数保留两位):^((0{1}.\d{1,2})|([1-9]\d.{1}\d{1,2})|([1-9]+\d))$正整数的正则表达式(包括0):^[+]{0,1}(\d+)$正整数的正则表达式(不包括0......
  • 2023-07-13:如果你熟悉 Shell 编程,那么一定了解过花括号展开,它可以用来生成任意字符串
    2023-07-13:如果你熟悉Shell编程,那么一定了解过花括号展开,它可以用来生成任意字符串。花括号展开的表达式可以看作一个由花括号、逗号和小写英文字母组成的字符串定义下面几条语法规则:如果只给出单一的元素x,那么表达式表示的字符串就只有"x"。R(x)={x}例如,表达式"a"......
  • 工作中常用lambda表达式-增加代码的逼格
    List转String字符串用逗号分割普通方式List<Long>useridList=authoritativeVO.getUserList();intcount=0;StringBuildertargetStr=newStringBuilder();for(inti=0;i<useridList.size();i++){ targetStr.append(useridList.get(i)); count++; if(count<u......
  • 正则表达式符号字符大全
    正则表达式符号字符大全正则表达式[1]由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,我们下面会给予解释。在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。例如,正则表达式"testing"中没有包含任何元字符......
  • 告别手写正则表达式了
    可以彻底告别手写正则表达式了这篇文章的目的是让你能得到完美的正则表达式,而且还不用自己拼。说到正则表达式,一直是令我头疼的问题,这家伙一般时候用不到,等用到的时候发现它的规则是一点儿也记不住,\d表示一个数字,\s表示包括下划线在内的任意单词字符,也就是[A-Za-z0-9_],还有[\s......
  • python正则表达式中怎么引用变量 这个问题怎么解决?
    项目方案:使用Python正则表达式引用变量1.简介Python正则表达式是一种强大的文本处理工具,可以用于匹配、搜索、替换和验证字符串。在正则表达式中,有时候需要使用变量来引用匹配结果或者动态地构建正则表达式模式。本项目方案将介绍如何在Python正则表达式中引用变量,以及如何使用......
  • 现代C++(Modern C++)基本用法实践:二、Lambda表达式
    概述lambda表达式,有时也被称为匿名函数。他提供了简短的,内联的函数对象。用法形式如:[capture](parameters)->return_type{body}具体用法如下文举例它的实现是由编译器决定的,在我的编译器上他是通过创建一个匿名类,通过重载()运算符,成为一个可调用对象,从而实现调用,类似://......