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 }
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 }