.NET Choosing between Structures and Classes
复制:什么时候应该使用结构而不是类?
只是想知道是否有人可以提供一些建议或示例,说明何时最好在.NET中的类上使用结构,反之亦然
我已经做了一些背景阅读,并理解了两种结构之间的区别,即结构存储在堆栈上,类存储在堆栈上等等。但还没有找到一些明确的例子,其中一个可以提供优于另一个的好处。
多谢
对同一个问题引用一个好答案(什么时候应该使用结构而不是类?):
MSDN has the answer: Choosing Between
Classes and Structures.Basically, that page gives you a
4-item checklist and says to use a
class unless your type meets all of
the criteria.Do not define a structure unless the
type has all of the following
characteristics:
- It logically represents a single value, similar to primitive types
(integer, double, and so on).- It has an instance size smaller than 16 bytes.
- It is immutable.
- It will not have to be boxed frequently.
使用
编辑:与
非常基本的指导原则,甚至不特定于.NET:
除了需要非常小、非常简单的容器外,其他都使用类。如果不需要属性或函数,则应使用类。
在我看来,对于结构来说,一个很好的例子是当您需要创建一个项数组时,但是这些项是一对int和string。一些基本的东西
我为你找到了这页。它解释了在哪里使用一个或另一个,每个的好处和缺点。
http://www.jaggersoft.com/pubs/structsvsclasses.htm网站
当做!!!!
我喜欢上课。
1 2 3 4 5 6 7 8 | Structure TestStruct Dim Name as String End Structure Dim x as TestStruct If x Is Nothing Then 'ALWAYS returns false. A class would return true. Nullability, baby. |