• c#语言特性8.0


    using DocumentFormat.OpenXml.Presentation;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Language
    {
        class Class1
        {
            //Readonly 成员
            public struct Point
            {
                public double X { get; set; }
                public double Y { get; set; }
                public double Distance => Math.Sqrt(X * X + Y * Y);
    
                public readonly override string ToString() =>
                    $"({X}, {Y}) is {Distance} from the origin";
            }
    
            //元组模式
    
            public static string RockPaperScissors(string first, string second)
        => (first, second) switch
        {
            ("rock", "paper") => "rock is covered by paper. Paper wins.",
            ("rock", "scissors") => "rock breaks scissors. Rock wins.",
            ("paper", "rock") => "paper covers rock. Paper wins.",
            ("paper", "scissors") => "paper is cut by scissors. Scissors wins.",
            ("scissors", "rock") => "scissors is broken by rock. Rock wins.",
            ("scissors", "paper") => "scissors cuts paper. Scissors wins.",
            (_, _) => "tie"
        };
    
    
            /*
     这里有几个语法改进:
    变量位于 switch 关键字之前。 不同的顺序使得在视觉上可以很轻松地区分 switch 表达式和 switch 语句。
    将 case 和 : 元素替换为 =>。 它更简洁,更直观。
    将 default 事例替换为 _ 弃元。
    正文是表达式,不是语句。
     */
            public static RgbColor FromRainbow(Rainbow colorBand)
            {
                return colorBand switch
                {
                    Rainbow.Red => new RgbColor(),
                    Rainbow.Orange => new RgbColor(),
                    Rainbow.Yellow => new RgbColor(),
                    Rainbow.Green => new RgbColor(),
                    Rainbow.Blue => new RgbColor(),
                    Rainbow.Indigo => new RgbColor(),
                    Rainbow.Violet => new RgbColor(),
                    _ => throw new ArgumentException(message: "invalid enum value", paramName: nameof(colorBand)),
    
    
                };
            }
    
            //静态本地函数
            int M()
            {
                int y = 5;
                int x = 7;
                return Add(x, y);
    
                static int Add(int left, int right) => left + right;
            }
    
            public static void Run()
            {
                //索引和范围
                var words = new string[]
                {
                            // index from start    index from end
                "The",      // 0                   ^9
                "quick",    // 1                   ^8
                "brown",    // 2                   ^7
                "fox",      // 3                   ^6
                "jumped",   // 4                   ^5
                "over",     // 5                   ^4
                "the",      // 6                   ^3
                "lazy",     // 7                   ^2
                "dog"       // 8                   ^1
                };              // 9 (or words.Length) ^0
    
                //words[1..4]  "The",   "quick", "brown", "fox",  
                //words[4..]    "jumped"---->"dog"
    
    
    
                //stackalloc 运算符
                int length = 3;
                Span<int> numbers = stackalloc int[length];
                for (var i = 0; i < length; i++)
                {
                    numbers[i] = i;
                }
    
                //指针类型
                unsafe
                {
                    int* p = stackalloc int[10];
                    for(int i=0;i<10;i++)
                    {
                        p[i] = i;
                    }
    
                    for(int i=0;i<10;i++)
                    {
                        Console.WriteLine(*p++);
                    }
                }
            }
    
            public enum Rainbow
            {
                Red,
                Orange,
                Yellow,
                Green,
                Blue,
                Indigo,
                Violet
            }
    
    
        }
    }
    SQL Server
  • 相关阅读:
    Loadrunner 参数化&参数化策略&参数化mysql
    Loadrunner 录制脚本注意事项
    Centos7卸载nginx及php、php-fpm方法
    卸载apache
    apache配置
    centOs
    ajax-php跨域请求
    安装php
    apache
    java集合类,HashMap,ArrayList
  • 原文地址:https://www.cnblogs.com/zlgan/p/11619997.html
Copyright © 2020-2023  润新知