アプリを構築していて、グラフ内の位置を処理する必要があります。この位置には、X、Y の値と、北、東、南、西などの方向があります。Struct
この位置は、そのグラフの単一の値を表すため、可能性があると思います。
私は調査し、考え、Structs
これらのルールを使用して見つけましたStruct
:
- プリミティブ型 (integer、double など) と同様に、単一の値を論理的に表します。
- インスタンス サイズは 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
}
私のサイズをバイト単位で計算するStruct
方法と、それが不変であるかどうかを知る方法を知りたいですか?
ありがとう。
アップデート:
わかった。応答によると、Struct
16long
バイト+ CompassPoint
.
しかし、追加の質問は次のとおりですStruct
。16バイトで不変のを使用して得たものは何ですか? を見DateTime
Struct
てください。16 バイト以上あるように見えますか? 何の問題?