首页 [ 控件应用 ] .NET中提高开发效率的新特性
一键分享

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

  • 免费

2022-04-22 10:11:18

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

  • 源码类型: 其他
  • 开发环境: VS2022 + 其他
  • 开发语言: C#
  • 标签: 效率提高.新特性
  • 评分:
收藏 25 次|关注 449 次|下载 23 次

免费


交付物: 源码包
    商家已实名认证
  • 分享者:奋斗的阿蒙***
  • 访问次数:   3475 次
  • 源码数量:   35 套
  • 通过比率:   58%
  • 活跃于:   三个月前
  • QQ:   154****
  • TEL:   13*******82
  • 最新IP属地:哈尔滨市
  • 微信扫码咨询
.net
  • 51Aspx源码必读.txt[5KB]
  • from .gif[4KB]
  • NET中提高开发效率的新特性.pdf[858KB]
  • 最新Asp.Net源码下载.url[123B]
  • 通过Http控制窗口程序.sln[1KB]

源码介绍

源码参数

  • 源码类别:【控件应用】
  • 源码类型:其他
  • 适合人群: 菜鸟
  • 授权类型:免费版
  • 开发语言:C#
  • 数据库:其他
  • 源码大小:883KB
  • 相关网址: 【免费浏览】
  • 源码指数:
  • 完整度:
  • 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

一、更新记录

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中的用法。



责任编辑:奋斗的阿蒙

下载记录(Only Recent 100)

用户名 推荐指数 下载时间

源码评论

单击更换

评论列表

全部评论
  • 暂无评论 …

最近更新

      下载排行