C语言基础入门,有哪些要点需要浅谈?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1535个文字,预计阅读时间需要7分钟。
亲爱的,这是您需要的简写开头内容:
家好,这是+C
大家好,这是 C# 9.0 新特性系列的第 4 篇文章。
熟悉函数式编程的童鞋一定对“只读”这个词不陌生。为了保证代码块自身的“纯洁”,函数式编程是不能随便“弄脏”外来事物(参数、变量等)的,所以“只读”对函数式编程非常重要。
为了丰富 C# 对函数式编程支持,较新的 C# 版本引入了一些很有用的新特性。比如 C# 8 中就对 struct 类型的方法增加了 readonly 修饰符支持,被 readonly 修饰的方法是不能修改该方法所在类的属性的。举个例子:
public struct FooValue { private int A { get; set; } public readonly int IncreaseA() { A = A + 1; // 报错 return A; } }
而 C# 9 又进一步增加了对“只读”的支持,此次增加了 init-only 属性和 record 相关特性,下面一一介绍。
Init-only 属性
我们知道类的属性有 set 和 get 两种访问器,现在 C# 9 增加一种属性访问器:init。init 是 set 访问器的变体,它的作用是使属性只能在对象初始化的时候对其赋值,之后该属性就是只读的,因此叫 init-only 属性。
本文共计1535个文字,预计阅读时间需要7分钟。
亲爱的,这是您需要的简写开头内容:
家好,这是+C
大家好,这是 C# 9.0 新特性系列的第 4 篇文章。
熟悉函数式编程的童鞋一定对“只读”这个词不陌生。为了保证代码块自身的“纯洁”,函数式编程是不能随便“弄脏”外来事物(参数、变量等)的,所以“只读”对函数式编程非常重要。
为了丰富 C# 对函数式编程支持,较新的 C# 版本引入了一些很有用的新特性。比如 C# 8 中就对 struct 类型的方法增加了 readonly 修饰符支持,被 readonly 修饰的方法是不能修改该方法所在类的属性的。举个例子:
public struct FooValue { private int A { get; set; } public readonly int IncreaseA() { A = A + 1; // 报错 return A; } }
而 C# 9 又进一步增加了对“只读”的支持,此次增加了 init-only 属性和 record 相关特性,下面一一介绍。
Init-only 属性
我们知道类的属性有 set 和 get 两种访问器,现在 C# 9 增加一种属性访问器:init。init 是 set 访问器的变体,它的作用是使属性只能在对象初始化的时候对其赋值,之后该属性就是只读的,因此叫 init-only 属性。

