C# C关于列表实例和成员上下文的混淆

C# C关于列表实例和成员上下文的混淆,c#,list,C#,List,我不明白为什么会这样: namespace ConsoleApp2 { public class NameList { public void NameListGo() { List<string> listofNames = new List<string>(); listofNames.Add("Frank"); } } } 但这会产生一个错误,在当

我不明白为什么会这样:

namespace ConsoleApp2
{
   public class NameList
    {
        public void NameListGo()
        {
            List<string> listofNames = new List<string>();
            listofNames.Add("Frank");
        }
    }
}
但这会产生一个错误,在当前上下文中找不到listofNames:

namespace ConsoleApp2
{
   public class NameList
    {
            List<string> listofNames = new List<string>();
            listofNames.Add("Frank");
    }
}
在这种情况下,方法NameListGo的作用是什么。为了引用实例的属性,实例必须包含在方法中吗?我在一个漫长的周末开始学习C语言,如果这是一个新手问题,我很抱歉

要旨 这是因为listofNames.AddFrank;是一个说明,如您所见:

在C语言中,每个执行的指令都是在一个方法的上下文中执行的

如何让它工作 在第一个代码段中,listOfNames是一个局部变量

在第二个代码段中,将名称列为成员变量

更准确地说,在第二个代码片段listofNames中是NameList类的一个字段

请退房

总结 我推荐更多的教程,它会随着时间的推移变得清晰。祝你好运

要旨 这是因为listofNames.AddFrank;是一个说明,如您所见:

在C语言中,每个执行的指令都是在一个方法的上下文中执行的

如何让它工作 在第一个代码段中,listOfNames是一个局部变量

在第二个代码段中,将名称列为成员变量

更准确地说,在第二个代码片段listofNames中是NameList类的一个字段

请退房

总结
我推荐更多的教程,它会随着时间的推移变得清晰。祝你好运

在第二个例子中,你需要把你的代码放在构造函数或方法中。在第二个例子中,你需要把你的代码放在构造函数或方法中。非常感谢!这个答案非常清楚,非常有意义。非常感谢!这个答案非常清楚,很有道理。
public class NameList
{
       //This is a field
        List<string> listofNames = new List<string>();

       public void Method() {
          //You need a method to interact with listOfNames
          listofNames.Add("Frank");
       }

}