c# – 您期望不可变列表的不变性有多深?

c# – 您期望不可变列表的不变性有多深?,第1张

概述如果你有一个不可变列表,你希望它总是在你要求的时候返回对同一个对象的引用 list.get(0) 我的问题是,您是否希望能够改变对象并在下次从列表中获取突变时反映出变异? 这取决于具体情况.在通用库中,我们应该假设列表是不可变的.对列表中元素的更改将反映给所有调用者,这是每次返回相同引用的直接结果. 但是,如果这是一个专门的不可变树(或其他),并且记录如此,那么你会希望列表中的项本身是不可变的,这 如果你有一个不可变列表,你希望它总是在你要求的时候返回对同一个对象的引用
List.get(0)

我的问题是,您是否希望能够改变对象并在下次从列表中获取突变时反映出变异?

解决方法 这取决于具体情况.在通用库中,我们应该假设列表是不可变的.对列表中元素的更改将反映给所有调用者,这是每次返回相同引用的直接结果.

但是,如果这是一个专门的不可变树(或其他),并且记录如此,那么你会希望列表中的项本身是不可变的,这就成了一个没有实际意义的问题.

总结

以上是内存溢出为你收集整理的c# – 您期望不可变列表的不变性有多深?全部内容,希望文章能够帮你解决c# – 您期望不可变列表的不变性有多深?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1240277.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存