gpt4 book ai didi

.net - 可变结构有什么好的用途?

转载 作者:行者123 更新时间:2023-12-04 14:51:27 24 4
gpt4 key购买 nike

所以我知道可变结构/值类型在.Net中被认为是“邪恶的”。那么为什么可以制造它们呢?可变结构有哪些好的用途可以证明首先将功能添加到 CLR 中?

最佳答案

一个很好的问题!就个人而言,我绝对不是粉丝,但是一些在 CF/XNA 上运行的人会发誓他们需要从(过度)使用结构中获得的额外性能,这通常涉及到它们是可变的。如果直接在数组、公共(public)字段上或通过 ref 访问结构,则此参数具有一定的值(value)。 ,但在许多情况下,您可能会因为在堆栈上多次复制一个过大的结构而在堆栈空间中大吃一惊。

如果您使用的是结构,可变或非可变,并且如果您使用的是序列化,那么 完全 不可变结构可能是一个真正的问题。部分或“冰棒”不变性可能是这里的答案,但对值类型具有吸引力的相同框架也往往具有更多反射限制,使得基于私有(private)/字段的序列化变得棘手。所以 mutable 很方便。

以上所有都是使用结构来保存实际上更好分类为对象的东西的例子。纯粹的值(value)观不会改变。曾经。所以完全不变性很好。

作为最后的想法......不是存在的理由,但它是极好的采访素材,非常适合绊倒粗心的人。也许它是由充当顾问的人设计的;p

关于.net - 可变结构有什么好的用途?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5748297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com