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;

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

  • 相关阅读:
    在ASP.NET Core中使用TagHelpers
    ASP.NET Core使用Redis
    ASP.NET Core MVC中视图
    HTTP状态码
    ASP.NET Core中静态文件
    ASP.NET Core中使用依赖注入
    在ASP.NET Core中使用多个环境
    ASP.NET Core读取配置文件
    HTML+CSS解决高度塌陷和垂直重叠
    Element-UI的表格合计行的列添加操作按钮
  • 原文地址:https://www.cnblogs.com/T-ARF/p/9229133.html
Copyright © 2011-2022 走看看