zoukankan      html  css  js  c++  java
  • C# 6.0部分新特性

    Struct的默认构造函数和属性赋值


    我看C# 6 introduce 提到这个功能。但vs2015搭载的NET4.6貌似还不支持这个。所以也不好判断。


    属性赋值


        /// <summary>
        /// 属性赋值
        /// 只读属性表达式
        /// </summary>
        public class UserInfo1
        {
            public string Name { get; set; } = "Tom";
            public int Age { get; set; } = 12;
    
            public int Height { get { return 168 + new Random().Next(1, 10); } }
            public int HeightNew => 168 + new Random().Next(1, 10);
        }


    方法表达式

      /// <summary>
        /// 方法表达式
        /// </summary>
        public class UserInfo2
        {
            public string Name { get; set; } = "Tom";
            public int Age { get; set; } = 12;
    
            public void Introduce()
            {
                //C#6 字符串拼接方式,很方便吧!
                Console.WriteLine($"my name is {Name},{Age}.");
            }
    
            public void IntroduceNew() => Console.WriteLine($"my name is {Name},{Age}.");
    
        }

     

    空引用检查


        /// <summary>
        ///  空引用检查 
        /// </summary>
        public class UserInfo3
        {
            public string Name { get; set; }  
            public int Age { get; set; } 
    
          
            public   void SayHello(UserInfo3 user)
            {
                if (user.Name==null)
                    return;
                Console.WriteLine($"hi, {user.Name}");
            }
            //输出 hi,  
            public void SayHelloNew(UserInfo3 user)
            {
                Console.WriteLine($"hi, {user?.Name}");
            }
        }

    获取参数/变量的名称


            static void Main(string[] args)
            {
                //UserInfo3 user3=new UserInfo3();
                //user3.SayHello(user3);
                //user3.SayHelloNew(user3);
    
    
                GetObjectName();
    
                Console.ReadLine();
            }
    
    
            /// <summary>
            /// 获取参数/变量的名称
            /// 原先要用反射获取
            /// </summary>
            public static void GetObjectName()
            {
                Console.WriteLine( nameof(UserInfo3));
            }






  • 相关阅读:
    Android App Bundle 使用指南
    Homebrew国内源
    Mac下配置环境变量不生效问题
    CocosCreator1.x配置打包Android App Bundle
    Android读取Json文件的工具类
    Cocos Creator 坐标转换
    XCode真机调试不了,提示"Please reconnect the device"
    Canvas: trying to draw too large(134374464bytes) bitmap.
    Modbus主从关系几点记录
    当前时间加上几天
  • 原文地址:https://www.cnblogs.com/yuanhuaming/p/4516398.html
Copyright © 2011-2022 走看看