背景在以前的C#版本里面,如果需要定义一个不可修改的的类型的做法一般是:声明为readonly,并设置为只包
转载
2021-11-24 15:29:27
77阅读
引用类型 提供合成方法来提供值语义,从而实现相等性。默认情况下,记录是不可变的。 记录类型可以轻松创建不可变的引用类型。以前.net类型主要分为引用类型(包括类和匿名类型)和值类型(包括结构和元组)。虽然建议使用不可变的值类型,但可变的值类型通常不会引入错误。值类型变量可保存值,因此在将值类型传递给方法时,会
原创
2022-07-03 00:25:30
152阅读
自C#7.0以来,模式匹配就作为C#的一项重要的新特性在不断地演化,这个借鉴于其小弟F#的函数式编程的概念,使得C#的本领越来越多,C#9.0就对模式匹配这一功能做了进一步的增强。为了更为深入和全面的了解模式匹配,在介绍C#9.0对模式匹配增强部分之前,我对模式匹配整体做一个回顾。1 模式匹配介绍1.1 什么是模式匹配?在特定的上下文中,模式匹配是用于检查所给对象及属性是否满足所需模式(即是否符合
转载
2021-05-05 18:47:52
185阅读
2评论
在 .NET 5.0 的发布中,不仅统一了框架,微软还在C#9.0中推出了一些新特性。 本版本中,印象深刻的功能: Init-only setters (初始化设置器) Records (记录) Top-level statements (顶级语句) Pattern matching (模式匹配) ...
转载
2021-09-03 12:23:00
88阅读
2评论
1 背景与动机通常,如果只想用C#在控制台上打印一行“Hello World!”,这可不是Console.WriteLine("Hello World!");一条语句就可以搞定的,还涉及到其他必要基础代码(如定义类和入口函数Main),例如下面:using System;
class Program
{
static void Main()
{
Console.Wr
转载
2021-05-05 18:54:39
326阅读
2评论
一:背景 1. 讲故事 上一篇跟大家聊到了Target-typed new 和 Lambda discard parameters,看博客园和公号里的阅读量都达到了新高,甚是欣慰,不管大家对新特性是多头还是空头,起码还是对它抱有一种极为关注的态度,所以我的这个系列还得跟,那就继续开撸吧,今天继续带来
转载
2020-08-05 12:59:00
122阅读
C# 9.0 中的新增功能C# 9.0 向 C# 语言添加了以下功能和增强功能:记录 仅限 Init 的资源库 顶级语句 模式匹配增强功能 本机大小
原创
2022-10-30 10:20:53
155阅读
Record 1、record类型是引用类型 2、为什么会新增这一类型? 1)面向对象编程中,比较两对象是否相等,一般比较两对象的内存地址是否一致。 2)然而在一些语境中,我们关注的是对象的字段/属性是否相等。在这种情况下进行比较则需要将对象内的所有字段/属性的值依次进行比较,若全部相等则表示两对象 ...
转载
2021-10-23 15:01:00
154阅读
2评论
C# 9.0 是微软在2020年11月随.NET 5.0一起发布的一个重要版本,带来了许多新的特性和改进,旨在提高开发者的生产力和代码的可读性。本文将从浅入深地介绍C# 9.0的一些主要新特性,并通过
C# 9.0 是微软在2020年11月随.NET 5.0一起发布的一个重要版本,带来了许多新的特性和改进,旨在提高开发者的生产力和代码的可读性。本文将从浅入深地介绍C# 9.0的一些主要新特性,并通过代码示例来说明这些特性的使用方法和注意事项。
1. 记录类型 (Records)
1.1 概述
记录类型是一种不可变的数据结构,主要用于表示数据的值。与传统的类不同,记录类型默认是不可变的,并且提供
一:背景1. 讲故事上一篇跟大家聊到了Target-typed new 和 Lambda discard paramet
原创
2023-04-18 12:54:45
75阅读
一:背景 1. 讲故事 上一篇跟大家聊到了Target-typed new 和 Lambda discard parameters,看博客园和公号里的阅读量都达到了新高,甚是欣慰,不管大家对新特性是多头还是空头,起码还是对它抱有一种极为关注的态度,所以我的这个系列还得跟,那就继续开撸吧,今天继续带来
原创
2021-09-05 10:27:09
53阅读
一:背景1.讲故事上一篇跟大家聊到了Target-typednew和Lambdadiscardparameters,看博客园和公号里的阅读量都达到了新高,甚是欣慰,不管大家对新特性是多头还是空头,起码还是对它抱有一种极为关注的态度,所以我的这个系列还得跟,那就继续开撸吧,今天继续带来两个新特性,更多新特性列表,请大家关注:新特性预览二:新特性研究1.Nativeints从字面上看貌似是什么原生类型
原创
2020-08-28 22:11:13
297阅读
一:背景1. 讲故事上一篇跟大家聊到了Target-typed new 和 Lambda discard parameters,看博客园和公号里的阅读量都达到了新高,甚是欣慰,不管大家对新特性是多头还是空头,起码还是对它抱有一种极为关注的态度,所以我的这个系列还得跟,那就继续开撸吧,今天继续带来两个新特性,更多新特性列表,请大家关注:新特性预览二:新特性研究1. Native ints从字面上看貌
原创
2021-02-24 21:51:43
137阅读
在《带你了解C#每个版本新特性》 一文中介绍了,C# 1.0 到 7.0 的不同特性,本文接着介绍在 8.0 和 9.0 中的一些常用新特性。C# 8.0在 dotNET Core 3.1 及以上版本中就可以使用 C# 8 的语法,下面是 C# 8 中我认为比较常用的一些新功能。默认接口方法接口是用来约束行为的,在 C# 8 以前,接口中只能进行方法的定义,下面的代码在 C# 8 以前是会报编译错
原创
2021-04-24 11:09:34
145阅读
随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章将向大家展示它们。
目录C# 9.0 新特性预览 - 顶级语句前言随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章将向大家展示它们。目录[C# 9.0 新特性预览 - 类型
转载
2021-05-05 20:37:41
209阅读
2评论
在《带你了解C#每个版本新特性》 一文中介绍了,C# 1.0 到 7.0 的不同特性,本文接着介绍在 8.0 和 9.0 中的一些常用新特性。C# 8.0在 dotNET Core 3.1 及以上版本中就可以使用 C# 8 的语法,下面是 C# 8 中我认为比较常用的一些新功能。默认接口方法接口是用来约束行为的,在 C# 8 以前,接口中只能进行方法的定义,下面的代码在 C# 8 以前是会报编译错
原创
2021-04-24 11:09:39
188阅读
在《带你了解C#每个版本新特性》 一文中介绍了,C# 1.0 到 7.0 的不同特性,本文接着介绍在 8.0 和 9.0 中的一些常用新特性。
C# 8.0
在 dotNET Core 3.1 及以上版本中就可以使用 C# 8 的语法,下面是 C# 8 中我认为比较常用的一些新功能。
默认接口方法
接口是用来约束行为的,在 C# 8 以前,接口中只能进行方法的定义,下面的代码在 C# 8 以前是
原创
2021-07-23 16:00:32
176阅读
Android 9.0新特性
转载
2018-09-21 11:16:00
83阅读
2评论
https://blog.csdn.net/GenlanFeng/article/details/79496359
转载
2018-05-30 10:02:18
895阅读