相关疑难解决方法(0)

643
推荐指数
15
解决办法
33万
查看次数

为什么我们需要结构?(C#)

要使用结构,我们需要实例化结构并像使用类一样使用它.那为什么我们不首先创建一个类?

c#

11
推荐指数
4
解决办法
5283
查看次数

7
推荐指数
2
解决办法
2412
查看次数

如何知道我的对象在C#中有多少字节?

我正在构建一个应用程序,我需要在图表中处理一个位置.该位置具有X,Y的值以及北,东,南和纬的方向.我认为这个位置可能是Struct因为它代表该图中的单个值.

我研究并思考Structs并发现这些规则使用Struct:

  • 它逻辑上表示单个值,类似于基本类型(整数,双精度等).
  • 它的实例大小小于16个字节.
  • 这是不可改变的.
  • 它不必经常装箱.

这是我未完成的一个例子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个字节?任何问题?

.net c# struct

3
推荐指数
1
解决办法
712
查看次数

标签 统计

c# ×3

.net ×2

struct ×2

class ×1

data-structures ×1

reference-type ×1

value-type ×1