zoukankan      html  css  js  c++  java
  • CSharp9.0 / C#9.0新语法【部分】

    /// <summary>
    /// 基于 .Net 5
    /// </summary>
    namespace CSharp9._0
    {
        public class FooInfo
        {
            public int FooId { get; init; }
    
            public string FooName { get; init; }
        }
    
        public record FoodInfo
        {
            public int FoodId { get; init; }
    
            public string FoodName { get; init; }
        }
    }
    
    namespace CSharp9._0
    {
        class Program
        {
            static void Main(string[] args)
            {
                //记录 init
                FooInfo foo = new FooInfo()
                {
                    FooId = 1,
                    FooName = "张三"
                };
                //X foo.FooName = "";
    
                //record
                FoodInfo foodInfo = new FoodInfo()
                {
                    FoodId = 2,
                    FoodName = "李四"
                };
                //X foodInfo.FoodName = "王五"; 属性是set时可以使用
    
                //with 配套record使用
                //X var foo1 = foo with {  }
    
                //with 表达式指示编译器创建记录副本
                var food = foodInfo with { FoodId = 2 };
    
                //简化
                FooInfo foo1 = new();//语法糖
    
                //为null判断
                string name = string.Empty;
                if (name is not null)
                {
                    name = "王五";
                }
            }
        }
    }
    
    //顶级语句,注释上面
    //Console.WriteLine("12");
    

      

  • 相关阅读:
    常量/静态常量
    git github仓库
    内存泄漏/溢出
    console线和RJ45
    Medium
    教师群
    编程入门学习网站
    科技传播坊公众号
    科技传播坊直播课堂 Scratch
    Scratch 疑难杂症视频
  • 原文地址:https://www.cnblogs.com/gygtech/p/14327697.html
Copyright © 2011-2022 走看看