这些简单的两行代码给出了错误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();
答案 0 :(得分:1)
我猜你试图在类范围内访问value
,如下所示:
class Foo
{
string value = "Dot Net Perls";
char[] array = value.ToCharArray();
}
这是不允许的。您只能在类范围中声明类成员,其他包含实例成员的语句应该写在方法内部。即使此范围内的初始化只是语法糖。当你这样做时:
string value = "Dot Net Perls";
编译器会将初始化移动到构造函数。