C# 语言一贯秉承简洁优美的宗旨,每次升级都会带来一些语法糖,让我们可以使代码变得更简洁.本文分享两个使用 C# 9.0 提升 if 语句美感的技巧示例. 使用属性模式代替 IsNullOrEmpty 在任何你使用 IsNullOrEmpty 的时候,可以考虑这样替换: string? hello = "hello world"; hello = null; // 旧的方式 if (!string.IsNullOrEmpty(hello)) { Console.WriteLine($&…
ASP.NET MVC深入浅出系列(持续更新)   一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模式,ViewState功不可没,通过的控件的拖拽和绑定,很快就可以搭建出来一个Web项目,其开发速度远胜Java.PHP,当年Web项目并不很重视体验,没有今天响应式,没有各种前端js框架,所以在当年的WebForm,微软是以引以为豪的. 该框架毕竟有时代局限性,随着前端的崛起,随着人们对项目体验的…
一. C# 6.0 新语法 1. 自动属性初始化可以赋值 /// <summary> /// 自动属性初始化 /// </summary> public class UserInfor { "; public string userName { get; set; } = "lmr"; } { Console.WriteLine("------------------------- 1. 自动属性初始化可以赋值----------------…
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…
准备工作: Visual Studio 2019 Preview版本中并没有包含所有的C# 8.0的新功能,但目前也有一些可以试用了.在开始之前,需要进行入两项设置: 将Framework设置为.net core 3.0 将C#语法设置为8.0 也可以直接编辑.csproj文件,修改TargetFramework和LangVersion为如下形式: <TargetFramework>netcoreapp3.0</TargetFramework>     <LangVersio…
.自动属性初始化的改进(有用) 原来的用法(声明时无法同时初始化),例如: 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 ();…
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在学习ASP.NET MVC之前,有必要先了解一下C#3.0所带来的新的语法特性,这一点尤为重要,因为在MVC项目中我们利用C#3.0的新特性将会大大的提高我们的开发效率,同时,在MVC项目中你将到处可以看到C#3.0新特性的身影.其本质都是“语法糖”,由编译器在编译时转成原始语法. 目录 自动属性 隐式类型 var 参数默认值 和 命名参数 对象初始化器与集合初始化器 匿名类& 匿名方法 扩展方法 系统内置委托:Func / Acti…