类内部列表?
问题描述:
我有一个名为Names
的字符串列表,名为data
。对列表中的代码如下所示:类内部列表?
public class data {
public List<string> Names = new List<string>();
Names.Add("C1");
}
当我运行该程序,代码失败与行names.Add("C1");
[编辑]给出的错误信息为“类型或命名空间的名称可能不会被发现(?是否缺少using指令或程序集引用)“
答
我会采取瞎猜,你猜你的类看起来是这样的:
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" };
答
如果你的类看起来像这样
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" };
+0
哇,怪异的他们有多类似 – 2012-02-27 03:25:43
是什么骂你吗?此外,显示一些周围的代码,或类,它会帮助我们。 – 2012-02-27 03:16:28
当它对你大叫时,它说什么? – 2012-02-27 03:16:38
你有什么特别的错误?当我们看不到错误信息或足够的代码来确定问题时,很难说出问题所在。 – 2012-02-27 03:17:44