zoukankan      html  css  js  c++  java
  • C# LINQ(5)

    目前都是说的单数据差距,如果多数据进行查询LINQ该如何呢?

    那么LINQ就应该使用关键字 join on equals

    现有代码:

            static void Main(string[] args)
            {
                var StrArray = new[] { "A","B","C","D","E","F"};
    
                var NumArray = new[] {0,1,2,3,4,5,6,7,8,9 };
    
                var list = from i in NumArray                     
    
                           join s in StrArray on StrArray[i] equals s
                          
                           select i;
                        
                foreach (var item in list)
                {
                    Console.Write($"{item}");                
                }

    see

    字符串数组有6个元素,数字数组有10,

    我想要查询符合字符串数组输出的最大数字数组的元素。

    就是数字数组有多少是可以符合字符串数组的下标/索引

    这里面 没有where关键字而是使用了join on equals

    join s in StrArray on StrArray[i] equals s

    详细解释一下这个一行代码:

     join s in StrArray

    等同于

    from s in StrArray

    -------------------------------------------

    on StrArray[i] equals s

    等同于

    where s==StrArray[i]

    这一整句代码可以理解为 用 s 引取 StrArray 当 StrArray[i] 相等于 s

    那么上面的代码还可以整理为:

               var StrArrat = new[] { "A","B","C","D","E","F"};
    
                var NumArray = new[] {0,1,2,3,4,5,6,7,8,9 };
    
                var list = from i in NumArray                     
                         
                           from s in StrArray
    
                           where i<StrArray.Length
    
                           where StrArray[i]==s
    
                           select i;

    至于使用哪种方式,这就是个人爱好了。

  • 相关阅读:
    第六章 装饰模式
    第二章 策略模式
    第一章 简单工厂模式
    HTTPS-post请求
    import&export
    Flask(Jinja2) 服务端模板注入漏洞vulhub
    MySQL UDF提权 过程及注意事项
    centos7 安装jdk1.8.0_271 以及错误解决
    WEB、FTP服务器所有响应码解释(超详细)
    Wolf CMS后台文件上传getshell并提权
  • 原文地址:https://www.cnblogs.com/T-ARF/p/9229133.html
Copyright © 2011-2022 走看看