C# 6新语法

  • A+
所属分类:.NET技术
摘要

 

C# 6新语法C# 6新语法

 1 using System;  2   3 namespace ConsoleApp1  4 {  5     class Program  6     {  7         static void Main(string[] args)  8         {  9  10             { 11                 Student student = new Student("蛋蛋", ""); 12  13                 Console.WriteLine(student.ToString()); 14  15                 student.Show(); 16             } 17  18             { 19                 //条件运算符 20                 Student student1 = null; 21  22                 //1. 得到的结果一定要支持null 23                 //2. 如果 student1 是 null,返回 null,如果 student1 有值 就返回 student1.FirstName 24                 string fullName = student1?.FirstName; 25  26                 //必须为可空类型,如果是  int id = student1?.Id; 则报错 27                 int? id = student1?.Id; 28  29                 Console.WriteLine("Hello World!"); 30  31                 student1 = new Student("AA", "BB"); 32                 fullName = student1?.FullName1; 33  34                 //1. 判断student1是否为null,如果为null,直接返回null; 35                 //2. 如果不为null,判断 student1.FullName1 是否为null,如果为null,返回“张三”,如果不为null,返回 student1.FullName1 36                 string testName = student1?.TestName ?? "张三"; 37             } 38  39             //字符串内插 40             { 41                 string firstName = "蛋蛋"; 42                 string lastName = ""; 43                 string strs = $"{{{lastName}}}-{firstName}"; //结果:{张}-蛋蛋 44             } 45  46             //异常筛选器 47             { 48                 try 49                 { 50                     throw new Exception("我是张蛋蛋的好朋友!"); 51                 }catch(Exception ex) when(ex.Message.Contains("张蛋蛋")) 52                 { 53                     Console.WriteLine("如果异常Message字符串中包含‘张蛋蛋’,那么就会显示此段话!"); 54                     //throw; 55                 } 56             } 57             //nameof 表达式 58             { 59  60                 string className = nameof(Student); 61                 Console.WriteLine($"获取到类名称:{className}"); 62             } 63  64         } 65     } 66 }

Program 类

C# 6新语法C# 6新语法

 1 using System;  2 using System.Collections.Generic;  3 using System.Text;  4   5 namespace ConsoleApp1  6 {  7    public class Student  8     {  9         public Student(string firstName,string lastName) 10         { 11             FirstName = firstName; 12             LastName = lastName; 13         } 14  15         public int? Id { get; set; } 16         public string TestName { get; set; } 17  18         /// <summary> 19         /// 只能通过构造函数赋值 20         /// </summary> 21         public string FirstName { get; } 22         public string LastName { get; } 23  24         /// <summary> 25         /// FullName1 与 FullName2 功能相同 26         /// </summary> 27         public string FullName1 28         { 29             get 30             { 31                 return string.Format("{0}-{1}", this.FirstName, this.LastName); 32             } 33         } 34  35         public string FullName2=> string.Format("{0}-{1}", this.FirstName, this.LastName);//念 goes to 36  37         public void Show() 38         { 39             Console.WriteLine(string.Format("FullName1:{0}",FullName1)); 40             Console.WriteLine(string.Format("FullName2:{0}", FullName2)); 41         } 42  43         /// <summary> 44         /// 方法A (方法A与方法B功能相同) 45         /// </summary> 46         /// <returns></returns> 47         public override string ToString() => string.Format("我是方法:{0}-{1}", this.FirstName, this.LastName);//念 goes to 48         /// <summary> 49         /// 方法B 50         /// </summary> 51         /// <returns></returns> 52         //public override string ToString() 53         //{ 54         //    return string.Format("我是方法:{0}-{1}", this.FirstName, this.LastName); 55         //} 56  57     } 58 }

Student 类