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

时间:2014-12-30 10:15:14

标签: c# string unity3d compare

这些简单的两行代码给出了错误A field initializer cannot reference the nonstatic field, method, or property ClassName.value'。我只是按照enter link description here的教程。我在unity3d中使用此代码。

//输入字符串。

string value = "Dot Net Perls";

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

char[] array = value.ToCharArray();

1 个答案:

答案 0 :(得分:1)

我猜你试图在类范围内访问value,如下所示:

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

这是不允许的。您只能在类范围中声明类成员,其他包含实例成员的语句应该写在方法内部。即使此范围内的初始化只是语法糖。当你这样做时:

string value = "Dot Net Perls"; 

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