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

    神奇吧,很神奇滴~ 

  • 相关阅读:
    HTML元素事件说明
    JQuery基本方法介绍和使用
    Eclipse设置注释模板
    AJAX回调(调用后台方法返回数据)
    Hibernate常用增删改查方法
    C memset
    PAT-Top1002. Business (35)
    PAT-Top1001. Battle Over Cities
    聂老师的考验(反向bfs)
    CSUST选拔赛题解
  • 原文地址:https://www.cnblogs.com/coderinprague/p/3824342.html
Copyright © 2011-2022 走看看