有没有办法获得固定大小的缓冲区的长度?
类似的东西:
public struct MyStruct
{
public unsafe fixed byte buffer[100];
public int foo()
{
return sizeof(buffer); // Compile error.
}
}
有没有办法完成这样的事情?
答案 0 :(得分:3)
在C ++中like,你必须保持内置数组的大小。同样适用于C#中的固定缓冲区。此类型为comparable到inline_array
。这为您提供了诸如静态代码检查之类的好处。他们有点痛苦,因为他们不是C#的头等功能。因此,最好的解决方案是将大小保持为struct的一部分。您可能只需处理它或使用集合/ C#的System.Array
。也许另一种解决方案是将固定缓冲区创建为单独的结构,然后将其作为另一个结构与其他数据的一部分。
答案 1 :(得分:-3)
那是一个阵列;你可以使用.Length
。