0

StructLayoutAttributeの使用に出くわしましたが、それがどのように使用に役立つのかわかりません。私は次のような構造体を持っています

[StructLayout(LayoutKind.Sequential)]
public struct XYData
{

    public int x;

    public int y;

    public XYData(int x, int y)
    {
        this.x = x;
        this.y = y;
    }
}

属性StructLayoutAttributeを適用すると役に立ちますか?

4

2 に答える 2

2

StructLayoutAttribute C#で指定されているように、すでにSequentialstructに使用されています。したがって、技術的には、この属性を追加しても影響はありません。

C#、Visual Basic、およびC ++コンパイラは、デフォルトでSequentialレイアウト値を構造に適用します。

この値は、意図を明示的に文書化するため、C#コードの構造体に安全に追加できますが、オプションです。

構造を自分で放出する場合、またはILを直接使用する場合は、それを指定する必要があります。

Sequentialクラスの場合、クラス内のフィールドの特定のレイアウトが必要な場合は、直接指定する必要があることに注意してください。

于 2013-02-20T07:18:38.500 に答える
0

この構造体がアンマネージコードにマーシャリングされている場合のみ

MSDNの備考を参照してください

于 2013-02-20T06:31:32.757 に答える