1.参考地址:https://docs.microsoft.com/zh-cn/dotnet/csharp/tutorials/exploration/csharp-7?tutorial-step=5 https://docs.microsoft.com/zh-cn/dotnet/csharp/tutorials/exploration/csharp-6 2.新语法,实例 using System; namespace ConsoleApp1 { class Program { static v…
.自动属性初始化的改进(有用) 原来的用法(声明时无法同时初始化),例如: class MyClass { public int Age { get; set; } public string Name { get; set; } public MyClass() { Age = ; Name = "张三"; } } 新用法(声明时可同时初始化,更方便了),例如: class MyClass { ; public string Name { get; set; } = "张三…
作为一门专为程(yu)序(fa)员(tang)考虑的语言,感受一下来自微软的满满的恶意... 1. 字符串内联在之前的版本中,常用的格式化字符串: var s = String.Format("{0} is {1} year{{s}} old", p.Name, p.Age); 在 C# 6 中: //无格式 var s = $"{p.Name} is {p.Age} year{{s}} old"; //带格式 var s = $"{p.Name,20}…
一.out输出参数 在以前使用out输出参数的时候,必须先定义变量,然后才能使用,例如: 先定义一个方法,方法参数是out类型的输出参数: private void DoNoting(out int x, out int y) { x = ; y = ; } 以前版本的写法: // 必须先定义i.j,才能使用out参数 ; ; this.DoNoting(out i, out j); Console.WriteLine($"i+j={i+j}"); 在C#7.0中,可以不用先定义,就能…
public class NewAtturibute { public void TestFunc() { // 01 Out变量 不用初始化 "; if (int.TryParse(input, out int a)) { } // 02 Is表达式 object obj = new object(); if (obj is int i) // 这个地方直接做了转化 { ; Console.WriteLine($"{s}"); } // 04 定义元组 // 方式1 ();…