在课堂内列出?

时间:2012-02-27 03:13:29

标签: c# winforms visual-studio list

我在名为Names的类中有一个名为data的字符串列表。列表的代码如下所示:

public class data {
  public List<string> Names = new List<string>();
  Names.Add("C1");
}

当我运行程序时,代码在names.Add("C1");

的行上失败

[edit]给出的错误信息是“无法找到类型或命名空间名称(您是否缺少using指令或程序集引用?)

2 个答案:

答案 0 :(得分:6)

我将在黑暗中拍摄,并猜测你的课程看起来像这样:

public class data
{
    public List<string> Names = new List<string>();
    Names.add("C1");
}

在这种情况下,问题实际上是add方法不是成员或方法声明,并且不能存在于何处。一种解决方案是在构造函数中添加:

public class data
{
    public List<string> Names = new List<string>();

    public data()
    {
        Names.Add("C1");
    }
}

另一种选择是将其添加到声明中:

public List<string> Names = new List<string>(){ "C1" };

答案 1 :(得分:1)

如果你的班级看起来像这样

public class MyClass
{
    public List<string> Names = new List<string>();
    Names.Add("C1");
}
那么这确实是非法的。类级别用于定义成员,而不是用于调用方法(Add语句)。您需要在方法或构造函数中调用Add方法。

public class MyClass
{
    public List<string> Names = new List<string>();

    public MyClass()
    {
        Names.Add("C1");
    }
}

或者,只需使用该值初始化列表:

public List<string> Names = new List<string>() { "C1" };