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

    神奇吧,很神奇滴~ 

  • 相关阅读:
    网站开发感悟
    jQuery之字体大小的设置
    jQuery之load方法
    jQuery之get方法
    MongoVUE的使用
    jQuery之ajax删除
    jQuery之选项卡的实现
    jQuery之简单的表单验证
    jQuery滑动效果实例
    jQuery之下拉框左右选择
  • 原文地址:https://www.cnblogs.com/coderinprague/p/3824342.html
Copyright © 2011-2022 走看看