zoukankan      html  css  js  c++  java
  • c#语法糖汇总

    todo

    C#9.0

    https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-9

    C#8.0

    https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-8

    yield return的作用

    在 return 时,保存当前函数的状态,下次调用时继续从当前位置处理。

            static void Main(string[] args)
            {
                foreach (var item in GetNumbers())
                {
                    Console.WriteLine("Main process. item = " + item);
                    break;
                }
                Console.ReadKey();
                    
            }
            static IEnumerable<int> GetNumbers()
            {
                // 以[0, 1, 2] 初始化数列 list
                Console.WriteLine("Initializating...");
                List<int> list = new List<int>();
                for (int i = 0; i < 3; i++)
                    list.Add(i);
    
                // 每次 yield return 返回一个list的数据
                Console.WriteLine("Processing...");
                for (int i = 0; i < list.Count; i++)
                {
                    Console.WriteLine("Yield called.");
                    yield return list[i];
                }
                Console.WriteLine("Done.");
            }

    输出

    Initializating...
    Processing...
    Yield called.
    Main process. item = 0

    代码

            static void Main(string[] args)
            {
                foreach (var item in GetNumbers())
                {
                    Console.WriteLine("Main process. item = " + item);
                }
                Console.ReadKey();
                    
            }
            static IEnumerable<int> GetNumbers()
            {
                // 以[0, 1, 2] 初始化数列 list
                Console.WriteLine("Initializating...");
                List<int> list = new List<int>();
                for (int i = 0; i < 3; i++)
                    list.Add(i);
    
                // 每次 yield return 返回一个list的数据
                Console.WriteLine("Processing...");
                for (int i = 0; i < list.Count; i++)
                {
                    Console.WriteLine("Yield called.");
                    yield return list[i];
                }
                Console.WriteLine("Done.");
            }

    输出

    Initializating...
    Processing...
    Yield called.
    Main process. item = 0
    Yield called.
    Main process. item = 1
    Yield called.
    Main process. item = 2
    Done.
    作者:银龙

    -------------------------------------------

    个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

    万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!

  • 相关阅读:
    静态方法
    表单的验证
    jquery笔记
    jquery参考
    dom体系 和获取其他页面的Window对象
    jsRegExp对象
    jsDate对象
    js案例
    Sqli-Labs 闯关 less 42-53
    Sqli-Labs 闯关 less 32-41
  • 原文地址:https://www.cnblogs.com/wangyinlon/p/14891818.html
Copyright © 2011-2022 走看看