【发布时间】:2019-12-31 16:36:35
【问题描述】:
这是我的代码,它在数组声明的变量下给出了红色波浪线,说明,
固定大小的缓冲区字段只能是结构的成员
float 是一个值类型,所以我不太明白这个消息。 创建 13 个元素(0 到 12;我忽略索引 0)的公共数组的正确语法是什么...
class clsUtility
{
public int UtilityId { get; set; }
public fixed float InterpolationFactorMonth[13]; // <-- HERE IS THE PROBLEM
}
【问题讨论】:
-
正确的语法是将其声明为浮点数组,并分配一个 13 元素的数组并赋值给它,如下所示:
public float[] InterpolationFactorMonth = new float[13];。如错误所示,固定数组只能从结构中使用,并且通常仅用于需要将结构传递给一些外部非托管代码的互操作/编组场景。 -
Lasse,是的。如果您作为答案发布,我会接受...我认为它只有 13 个元素的事实意味着它是固定的。所以固定数组是另外一回事......
-
你已经得到了 Jon 的一个很好的答案,没有必要再创建一个。