gpt4 book ai didi

c# - C# 中的可变长度数组

转载 作者:太空宇宙 更新时间:2023-11-03 17:33:30 25 4
gpt4 key购买 nike

我有一个定义了几个全局变量的类,如下所示:

namespace Algo
{
public static class AlgorithmParameters
{
public int pop_size = 100;

}
}

在我的另一个 csharp 文件中,它也包含 main(),在 main() 中我声明了一个类型结构数组和数组大小为 pop_size 但我在 "chromo_typ Population 上遇到了一些错误[AlgorithmParameters.pop_size];".请在下面找到代码。我是否对可变长度大小的数组声明使用了不正确的语法??

namespace Algo
{
class Program
{
struct chromo_typ
{
string bits;
float fitness;

chromo_typ() {
bits = "";
fitness = 0.0f;
}

chromo_typ(string bts, float ftns)
{
bits = bts;
fitness = ftns;
}
};

static void Main(string[] args)
{

while (true)
{
chromo_typ Population[AlgorithmParameters.pop_size];
}
}
}
}

错误是:

Bad array declarator: To declare a managed array the rank specifier precedes the variable's identifier. To declare a fixed size buffer field, use the fixed keyword before the field type.

Array size cannot be specified in a variable declaration (try initializing with a 'new' expression)

请帮忙。

最佳答案

声明变量时不指定大小,而是在创建数组实例时指定大小:

chromo_typ[] Population = new chromo_typ[AlgorithmParameters.pop_size];

或者如果你将声明和创建分开:

chromo_typ[] Population;
Population = new chromo_typ[AlgorithmParameters.pop_size];

关于c# - C# 中的可变长度数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10263780/

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