【发布时间】:2013-06-01 03:49:26
【问题描述】:
所以几周来我一直在努力解决这个问题。我知道结构是值类型,而类是引用类型。我感到困惑的是两者之间的行为差异。
例如: 如果我有一袋土豆,每个土豆的大小、形状和重量都不一样…… 包将是“类”/引用类型 土豆将是一个“结构”/值类型
我的土豆可以是一个类,还是必须是一个结构,因为其中包含的值不同?
基本上,这个问题的答案会让我明白一切。
谢谢!
【问题讨论】:
-
我非常怀疑“我的土豆可以上课吗?”这个问题的答案。清除任何东西。
-
请记住基于语言的值/引用类型和逻辑值/引用类型之间的区别。
class在逻辑上可能是一个值类型,并且在内部维护了引用概念,如相等/不变性/等。 -
考虑结构体的种类:
int,float,decimal,Color;以及类的种类:Form、Page、StackPanel、Socket。 -
这篇文章很好地解释了何时使用struct:stackoverflow.com/questions/521298/when-to-use-struct-in-c
-
主要区别在于“复制语义”:
a = b;究竟发生了什么取决于 rev 或值类型。
标签: c#