加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么Date结构是不可变的?

发布时间:2020-12-16 01:51:51 所属栏目:百科 来源:网络整理
导读:我想知道为什么日期结构对象,比如C#的DateTime Obj-C的NSDate已经变得一成不变. 我正在寻找这种设计背后的原因以及使这些信息不可改变的好处,而不仅仅是“因为它们可以” 更新: 似乎有一个类似的问题,我的答案很棒,但专门针对Java,可以在这里找到:Why do w
我想知道为什么日期结构&对象,比如C#的DateTime& Obj-C的NSDate已经变得一成不变.

我正在寻找这种设计背后的原因以及使这些信息不可改变的好处,而不仅仅是“因为它们可以”

更新:
似乎有一个类似的问题,我的答案很棒,但专门针对Java,可以在这里找到:Why do we need immutable class?

这与我的问题的答案相结合,提供了非常丰富的信息

解决方法

不变性使很多事情变得更容易.如果您不必担心某些事情可能会在您下面发生变化,那么您就不必编写许多保护代码.你不必做很多假设.事情有很多可能性,不会出错.

字符串,日期和其他类型的公共对象在现代语言中不可变是很常见的,因为它简化了编译器,框架,并且意味着编译器在进行优化时可以自由地做出假设.

要点是,只需很小的代价(如果你想改变价值就必须创建一个新的对象),你会获得很多真正的性能,稳定性和可靠性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读