0

我遇到了 use 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# 中指定的那样,已经使用Sequentialfor struct。所以从技术上讲,添加这个属性没有影响:

C#、Visual Basic 和 C++ 编译器默认将顺序布局值应用于结构。

您可以安全地将此值添加到 C# 代码中的结构中,因为它将显式记录意图,但它是可选的。

如果您自己发出结构或直接使用 IL,则需要指定它。

请注意,对于类,Sequential如果您发现您需要类中的特定字段布局,则需要直接指定。

于 2013-02-20T07:18:38.500 回答
0

仅当此结构被封送为非托管代码时

见 MSDN 备注

于 2013-02-20T06:31:32.757 回答