• CSharp8.0 / C#8.0新语法【部分】


    using System;
    
    namespace CSharp8._0
    {
        public interface ICustom
        {
            public void Show();
    
            public void ShowInfo()
            {
                Console.WriteLine("showinfo");
            }
        }
    
        public class Custom : ICustom
        {
            public void Show()
            {
                Console.WriteLine("show");
            }
        }
    }
    

      

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace CSharp8._0
    {
        enum WeekInfo
        {
            Monday = 1,
            Tuesday = 2,
            Wednesday = 3,
            Thursday = 4,
            Friday = 5,
            Saturday = 6,
            Sunday = 7
        }
        public class EmployeeInfo
        { 
            public int Sex { get; set; }
            public string SexChinese { get; set; }
        }
        class SharpEightInfo
        {
            public static string WeekToStringOld(WeekInfo week)
            {
                switch (week)
                {
                    case WeekInfo.Monday:
                        return "周一";
                    case WeekInfo.Tuesday:
                        return "周二";
                    case WeekInfo.Wednesday:
                        return "周三";
                    case WeekInfo.Thursday:
                        return "周四";
                    case WeekInfo.Friday:
                        return "周五";
                    case WeekInfo.Saturday:
                        return "周六";
                    case WeekInfo.Sunday:
                        return "周日";
                    default:
                        throw new NotImplementedException("没有该枚举");
                }
            }
    
            public static string WeekToStringNew(WeekInfo week) => week switch
            {
                WeekInfo.Monday => "周一",
                WeekInfo.Tuesday => "周二",
                WeekInfo.Wednesday => "周三",
                WeekInfo.Thursday => "周四",
                WeekInfo.Friday => "周五",
                WeekInfo.Saturday => "周六",
                WeekInfo.Sunday => "周日",
                _ => throw new NotFiniteNumberException("不存在的枚举值")
            };
    
            public static bool SexToString(EmployeeInfo employee) => employee switch
            {
                { Sex: 0 } => employee.SexChinese == "男",
                { Sex: 1 } => employee.SexChinese == "女",
                { Sex: 2 } => employee.SexChinese == "未知",
                _ => throw new NotImplementedException("性别设定超出")
            };
    
            public static string TupleTest(int i, string x) => (i, x) switch
            {
                (1, "1") => $"{i}={x}",
                (1, "2") => $"{i}={x}",
                (1, "3") => $"{i}={x}",
                _ => "不存在"
            };
    
            public static int StaticLocationFun(int i)
            {
                int j = 1;
                return Add(i, j);
    
                static int Add(int i, int j) => i + j;
            }
        }
    }
    

      

    namespace CSharp8._0
    {
        class Program
        {
            static void Main(string[] args)
            {
                //默认接口方法
                ICustom custom = new Custom();
                custom.Show();
                custom.ShowInfo();
    
                //switch属性模式
                SharpEightInfo.WeekToStringOld(WeekInfo.Monday);
    
                SharpEightInfo.WeekToStringNew(WeekInfo.Tuesday);
    
                EmployeeInfo employee = new EmployeeInfo()
                {
                    Sex = 0,
                    SexChinese = "未知"
                };
                bool bol = SharpEightInfo.SexToString(employee);
    
                string result = SharpEightInfo.TupleTest(1, "2");
    
                //静态本地函数
                SharpEightInfo.StaticLocationFun(1);
    
                //可控类型
                //int? i = null;
            }
        }
    }
    

      

  • 相关阅读:
    sicnu 区域赛选拔赛
    LeetCode 7 反转整数
    2018 CCPC网络赛 Dream&&Find Integer
    矩阵快速幂的总结以及模版
    通过event 找到tableview 上的某一个cell
    mac 安装完成phpsorm 运行提示 503解决办法
    指纹验证
    旋转图片
    xcrun: error: active developer path ("/Users/apple/Desktop/Xcode5.app/Contents/Developer") does not exist, use xcode-select to change
    我所了解的block
  • 原文地址:https://www.cnblogs.com/gygtech/p/14323062.html
Copyright © 2020-2023  润新知