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;

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

  • 相关阅读:
    三级联动
    投票系统
    增删改查
    PHP基础
    查询练习
    高级查询
    高级查询练习题
    0510课堂02三元运算符,跳转语句,循环结构
    0510课堂
    050602课堂css3旋转、过渡、动画
  • 原文地址:https://www.cnblogs.com/T-ARF/p/9229133.html
Copyright © 2011-2022 走看看