.NET中struct和class之间有什么区别?
我正在构建一个应用程序,我需要在图表中处理一个位置.该位置具有X,Y的值以及北,东,南和纬的方向.我认为这个位置可能是Struct因为它代表该图中的单个值.
我研究并思考Structs并发现这些规则使用Struct:
这是我未完成的一个例子Struct:
public struct Position
{
public long PositionX { get; set; }
public long PositionY { get; set; }
public CompassPoint CompassPoint { get; set; }
}
public enum CompassPoint : byte
{
North,
East,
South,
West
}
Run Code Online (Sandbox Code Playgroud)
我想知道如何计算我的字节大小Struct以及如何知道它是否是不可变的?
谢谢.
更新:
好的.根据响应,似乎我Struct传递了16个字节,因为只有两个long有16个字节+ 1个字节CompassPoint.
但是一个额外的问题是:我获得的是使用Struct16字节和不可变的?看看DateTime Struct,它似乎有16个字节?任何问题?