字段初始值设定项不能引用非静态字段、方法或属性"ClassName.value"



这些简单的两行代码给我错误A field initializer cannot reference the nonstatic field, method, or property ClassName.value'' . 我只是按照教程从 输入链接描述 在这里。我在unity3d中使用此代码。

输入字符串。

string value = "Dot Net Perls";

使用 ToCharArray 将字符串转换为数组。

char[] array = value.ToCharArray();

我猜您正在尝试像这样访问类范围内的value

class Foo
{  
   string value = "Dot Net Perls"; 
   char[] array = value.ToCharArray();
}

这是不允许的。只能在类范围内声明类成员,其他包含实例成员的语句应写在方法内部。甚至这个范围内的起始化也只是一个句法糖。当您执行以下操作时:

string value = "Dot Net Perls"; 

编译器会将初始化移动到构造函数。

最新更新