C# 字段初始值设定项不能引用非静态字段方法或属性

C# 字段初始值设定项不能引用非静态字段方法或属性,c#,C#,它在“items”变量上给了我这个错误。我怎样才能使用一个名为“items”的变量,而不必在每个使用数字3的字段中写入3 如果我想在代码中编辑它,我不想手动将数字3更改为其他内容。我想使用一个变量,所以我所要做的就是更改变量以更改所有内容。而不是使用只读使用常量 编辑: 要了解这两者之间的更多差异,请查看而不是使用只读使用常量 编辑: 要了解这两者之间的更多差异,请查看一个选项 将其移动到构造函数: public readonly int items = 3; private System.Wi

它在“items”变量上给了我这个错误。我怎样才能使用一个名为“items”的变量,而不必在每个使用数字3的字段中写入3


如果我想在代码中编辑它,我不想手动将数字3更改为其他内容。我想使用一个变量,所以我所要做的就是更改变量以更改所有内容。

而不是使用
只读
使用
常量

编辑:


要了解这两者之间的更多差异,请查看而不是使用
只读
使用
常量

编辑:


要了解这两者之间的更多差异,请查看一个选项

将其移动到构造函数:

public readonly int items = 3;
private System.Windows.Forms.TextBox[,] statsBonus = new System.Windows.Forms.TextBox[6, items];
更好的选择


项设置为
常量
一个选项

将其移动到构造函数:

public readonly int items = 3;
private System.Windows.Forms.TextBox[,] statsBonus = new System.Windows.Forms.TextBox[6, items];
更好的选择

项设置为
常量

必须使用

public ClassName()
{
  statsBonus = new System.Windows.Forms.TextBox[6, items];
}
你必须使用

public ClassName()
{
  statsBonus = new System.Windows.Forms.TextBox[6, items];
}

公共只读整数项=3;他在用我的电脑。您使用的是哪个版本的.Net?请阅读错误消息,添加静态链接。如何查找我使用的是哪个版本的.Net?我在Visual Studio上2012@puretppc右键单击项目->属性->应用程序tab@puretppc我正在使用.NET4.0将您的示例复制到控制台应用程序中。有关更多信息,请参见项目属性。public readonly int items=3;他在用我的电脑。您使用的是哪个版本的.Net?请阅读错误消息,添加静态链接。如何查找我使用的是哪个版本的.Net?我在Visual Studio上2012@puretppc右键单击项目->属性->应用程序tab@puretppc我正在使用.NET4.0将您的示例复制到控制台应用程序中。有关更多信息,请参见项目属性。它运行正常。但这两种类型有什么区别?@puretppc,只读字段值可以在构造函数和字段初始值设定项中设置,但常量文件值只能通过字段初始值设定项设置。它运行正常。但这两种类型之间有什么区别?@puretppc,只读字段值可以在构造函数和字段初始值设定项中设置,但常量文件值只能通过字段初始值设定项设置。只读变量只能通过构造函数分配readonly变量只能通过构造函数分配