繁体   English   中英

在课程内列出?

[英]Lists inside classes?

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

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

当我运行程序时,代码在名称为names.Add("C1");的行上失败names.Add("C1");

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

我要在黑暗中开枪,猜猜你的班级看起来像这样:

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

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

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

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

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

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

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

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" };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM