❤

.NET中提高开发效率的新特性

.NET中提高开发效率的新特性 免费

本次直播中将会为大家讲解C#/.NET包括但不限于record、source generate、解构、顶级语句、可空引用类型、minimal API中在实际中的应用,并将会剖析这些技术的背后原理。

上课用先看:学生电脑要装什么、怎么跑起来、有没有文档。

  • 要装什么Windows 服务器(IIS + .NET Framework) 我能不能自己部署?
  • 交付方式下载完整源码包,下载过的可以重复下载
  • 给谁用菜鸟
  • 授权说明免费:仅供学习交流,不能直接商用;要商用请先取得作者授权 详细说明
更新于 2022-04-22 浏览 547 次 收藏 0 次 下载 24 次

项目介绍

一、更新记录

1、更新日期:2022-04-22 00:00:00

2、更新内容:
更新源码包内容

Record

1、C#中的==运算符默认是判断两个变量指向的是否是同一个对象,即使两个对象内容完全一样,也不相等。可以通过重写Equals方法、重写==运算符等来解决这个问题,不过需要开发人员编写非常多的额外代码。
2、在C#9.0中增加了记录(record)类型的语法,编译器会为我们自动生成Equals、GetHashcode等方法。
public record Person(string FirstName, string LastName);
3、Person p1 = new Person("Yang", "Zack");
     Person p2 = new Person("Yang","Zack");
     Person p3 = new Person("Gates", "Bill");
     Console.WriteLine(p1);
     Console.WriteLine(p1==p2);
     Console.WriteLine(p1==p3);
     Console.WriteLine(p1.FirstName);
4、通过反编译查看record的内幕。

source generator

1、把以前需要在运行期需要进行Emit代码生成的工作放到编译器,提升程序的运行时性能。比如EF Core中代理子类的生成,Dapper的优化、正则表达式的优化、AutoMapper的优化等。
2、比Emit更加的对NativeAOT友好。
3、案例 E:\主同步盘\我的坚果云\读书笔记及我的文章\技术学习笔记\SourceGenerator\AutoMapper2
4、业务系统的用途:根据数据字典等业务文件生成代码。
5、技术详细讲解,搜索《杨中科 会写代码的代码-Source Generator》元组


元组

(char Xing,string Ming)ParseName(string name)
{
    char xing = name[0];
    string ming = name.Substring(1);
    return (xing, ming);
}
(char xing, string ming) = ParseName("杨中科");
Console.WriteLine($"姓{xing},名{ming}");
分析原理

解构

自定义类用类似上面的元组的赋值效果。类可以定义一个Deconstruct方法,然后返回值用out参数定义。
record Color(byte Red,byte Green,byte Blue)
{
public void Deconstruct(out byte red,out byte green,out byte blue)
{
red = Red;
green = Green;
blue = Blue;
}
}



顶级语句

1、直接在C#文件中直接编写入口方法的代码,不用类,不用Main。经典写法仍然支持。反编译一下了解真相。
2、顶级语句中可以直接使用await语法,也可以声明函数

可空引用类型

1、csproj中<Nullable>enable</Nullable>启用可空引用类型检查。
2、在引用类型后添加“?”修饰符来声明这个类型是可空的。对于没有添加“?”修饰符的引用类型的变量,如果编译器发现存在为这个变量赋值null的可能性的时候,编译器会给出警告信息。

Minimal API

让ASP.NET Core项目更简单。
WebApplication.Create()返回的WebApplication类型中有Configuration等类型,而且实现了IApplicationBuilder接口,因此可以兼容旧版ASP.NET Core中的用法。



  • 11
  • 22
  • 333
  • 55
  • 66
  • 11
  • 22
  • 333
  • 55
  • 66
  • Aspx.Query.CodeImageQueryModel
  • Aspx.Query.CodeImageQueryModel
  • Aspx.Query.CodeImageQueryModel
  • Aspx.Query.CodeImageQueryModel
  • Aspx.Query.CodeImageQueryModel

项目概况

  • 项目类别:【控件应用】
  • 适合人群:菜鸟
  • 授权类型:免费版
  • 完整度:
  • 可二次开发程度:
责任编辑:奋斗的阿蒙

给技术同事看

  • 项目类型:其他
  • 开发语言:C#
  • 数据库:其他
  • 开发工具:VS2022
  • 文件大小:883KB
  • 相关网址: 【免费浏览】

点下面文件目录里的文件名可以在线看代码;看不懂某个文件,可以在代码页下面请 AI 解读, 配置文件、建库脚本、说明文档还能选「部署 / 配置说明」,告诉你部署时要改哪几处。

最近下载累计 24 次

  • 正在加载…

项目评论

单击更换

评论列表

全部评论
  • 暂无评论 …

授权
免费
  • 完整的项目源码压缩包
已实名认证
0成交
35在售
58%过审率
活跃于 三个月前 进入店铺 ›
微信扫码咨询