gpt4 book ai didi

c# - 如何将 float (*vertices)[3] 添加到 C#

转载 作者:行者123 更新时间:2023-11-30 15:59:05 24 4
gpt4 key购买 nike

我需要将 C 结构转换为 C# 结构。

在 C 中:

 typedef struct Lib3dsMesh {
//..
float (*vertices)[3];
//..
}

在 C# 中:

     [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Ansi)]
public struct Lib3dsMesh
{
????
}

它用于在我的 C# 项目中使用 3ds C 库。

最佳答案

.net 中对常量大小的内联数组没有良好的支持(您可以使用 fixed 关键字,但我通常避免这样做)。所以我会使用具有 3 个字段的结构。

[StructLayout(LayoutKind.Sequential)]
struct Vector3f
{
public readonly float X,Y,Z;
}

[StructLayout(LayoutKind.Sequential)]
unsafe struct Lib3dsMesh {
public Vector3f* vertices;
}

关于c# - 如何将 float (*vertices)[3] 添加到 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9276219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com