c# – 静态结构方法和静态类方法有什么区别?

c# – 静态结构方法和静态类方法有什么区别?,第1张

概述我最近发现C#中的结构体可以有方法. 非常不小心,我发现自己在代码中一直使用一个空结构的静态方法,而不是我以为我正在使用的静态类的静态方法! 例如 public struct Foo{ public static void Bar(Param param) { ... }} 在这一点上它并没有被真正用作结构体,因为它根本没有属性! 这是否与使用静态方法( 我最近发现C#中的结构体可以有方法.

非常不小心,我发现自己在代码中一直使用一个空结构的静态方法,而不是我以为我正在使用的静态类的静态方法!

例如

public struct Foo{    public static voID bar(Param param)    {        ...    }}

在这一点上它并没有被真正用作结构体,因为它根本没有属性!

这是否与使用静态方法(静态或其他方式)非常不同?有什么理由选择一个呢? (我的直觉告诉我,使用静态结构的方法至少不那么直观)

解决方法 不,静态成员属于类型,而不属于类型的实例.声明静态类成员和静态结构成员之间没有区别(不论性能还是语义).

重要的是要注意,如果类型的唯一功能是包含静态成员,则应该使用静态类.使用结构体,存在一个隐式且不可更改的public,no-argument构造函数.如果类型不具有任何实例方法,则应删除创建实例的能力.声明类static与声明它是abstract密封相同,因此开发人员将无法无意创建没有目的的实例.

总结

以上是内存溢出为你收集整理的c# – 静态结构方法和静态类方法有什么区别?全部内容,希望文章能够帮你解决c# – 静态结构方法和静态类方法有什么区别?所遇到的程序开发问题。

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

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

原文地址:https://www.54852.com/langs/1259078.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存