zoukankan      html  css  js  c++  java
  • LINQ 之四 (SkipWhile和TakeWhile)

    看到书上的例子很正常,于是,我写了个不正常一点的。

    书上的是这样的

        class Program
        {
            static void Main(string[] args)
            {
                int[] mn = { 1,2,3,4,5,6,7,8,9};
                var z = mn.TakeWhile((x, i) => i < 5);
                foreach(var x in z)
                {
                    Console.WriteLine(x);
                }
                Console.ReadLine();
            }
        }

    结果是
    1

    2

    3

    4

    5

    我把 i<5改成i>5 于是无输出。

    高人提示我,此处i为index,x为值。

    查阅了一下,有人说:

    判断第一个值时,返回值为false,则终止SkipWhile/TakeWhile。

    注意:TakeWhile与SkipWhile都是以While的观念来执行动作的。

    然后,我才明白。。。

        class Program
        {
            static void Main(string[] args)
            {
                int[] mn = { 1,2,6,3,4,5,6,7,8,9};
                var z = mn.TakeWhile((x, i) => i< 5);
                foreach(var x in z)
                {
                    Console.WriteLine(x);
                }
                Console.ReadLine();
            }
        }
    View Code

    运行结果


        class Program
        {
            static void Main(string[] args)
            {
                int[] mn = { 1,2,6,3,4,5,6,7,8,9};
                var z = mn.TakeWhile((x, i) => x<5);
                foreach(var x in z)
                {
                    Console.WriteLine(x);
                }
                Console.ReadLine();
            }
        }
    View Code

    输出是什么呢?

    1

    2

    神奇吧,很神奇滴~ 

  • 相关阅读:
    day84
    模型层之单表操作
    Django的模板层
    Django框架导读
    创建Django项目
    名称空间2.0path
    js基础之BOM和DOM
    LG5003 跳舞的线
    20191003 「HZOJ NOIP2019 Round #8」20191003模拟
    LG3092 「USACO2013NOV」No Change 状压DP
  • 原文地址:https://www.cnblogs.com/coderinprague/p/3824342.html
Copyright © 2011-2022 走看看