gpt4 book ai didi

c# - 结构体实现接口(interface)是否安全?

转载 作者:IT王子 更新时间:2023-10-29 03:38:30 29 4
gpt4 key购买 nike

我似乎记得读过一些关于结构如何通过 C# 在 CLR 中实现接口(interface)的坏处,但我似乎找不到任何关于它的信息。不好吗?这样做会产生意想不到的后果吗?

public interface Foo { Bar GetBar(); }
public struct Fubar : Foo { public Bar GetBar() { return new Bar(); } }

最佳答案

在这个问题中有几件事发生了......

结构体可以实现接口(interface),但在转换、可变性和性能方面存在问题。请参阅此帖子了解更多详情:https://docs.microsoft.com/en-us/archive/blogs/abhinaba/c-structs-and-interface

一般来说,结构应该用于具有值类型语义的对象。通过在结构上实现接口(interface),您可能会遇到装箱问题,因为结构在结构和接口(interface)之间来回转换。由于装箱,更改结构内部状态的操作可能无法正常运行。

关于c# - 结构体实现接口(interface)是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63671/

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