gpt4 book ai didi

c# - 我的数组声明有什么问题?

转载 作者:太空宇宙 更新时间:2023-11-03 20:09:48 27 4
gpt4 key购买 nike

以下作品:

int[] numbers = new int[2];

以下不是:

int Size = 2;
int[] numbers = new int[Size];

错误:“字段初始值设定项无法引用非静态字段、方法或属性”

我知道这一定是我在做一些愚蠢的事情,但根本无法弄清楚它是什么。

最佳答案

您可以通过常量而不是变量来给出数组的大小,因为如果您在类级别的方法之外声明数组,则无法在类级别给出数组的大小。 C# 不保证类中字段的初始化顺序,因此您不能使用一个非静态字段来初始化方法之外的另一个非静态字段,reference .

const int Size = 2;
int[] numbers = new int[Size];
void SomeFun()
{

}

如果你在某个方法中声明它,那么你就不会出错。

void SomeFun()
{
int Size = 2;
int[] numbers = new int[Size];
}

如果您的集合大小在运行时未知,您可以使用列表而不是数组。

List<int> lst = new List<int>();

关于c# - 我的数组声明有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20747299/

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