码迷,mamicode.com
首页 > Windows程序 > 详细

《刻意练习之C#》-0021- C# 不可变类型

时间:2020-06-13 10:41:43      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:bsp   方法   可变   函数   额外   ash   字符   种类   upper   

不可变类型

如果一个类型包含可以修改的成员,那么它是一个可变类型。

通过使用readonly修饰符,编译器负责解释类型的状态是否发生变化,这种类型仅允许在构造函数里进行初始化。

如果一个对象没有任何可以修改的成员——它仅包含readonly成员的话——那么它就是一个不可变类型。它的内容仅可以在初始化的时候发生更改。

这种类型对于多线程编程会很有用,因为多线程可以同时访问同一个类,而它的值从来不会改变。因为它的值不变,你就不需要编写额外的同步代码。

 

一个典型的不可变类型是String类。这个类没有定义任何可修改的成员。

它的内部方法,如ToUpper之类的,总是返回一个新的字符串,而通过构造函数创建的原始字符串不会发生任何变化。

《刻意练习之C#》-0021- C# 不可变类型

标签:bsp   方法   可变   函数   额外   ash   字符   种类   upper   

原文地址:https://www.cnblogs.com/codesee/p/13111882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!