列表中对象的方法
本文关键字:方法 对象 列表 | 更新日期: 2023-09-27 18:33:19
我已经搜索了几个小时,但我似乎找不到任何答案。我正在尝试使循环foreach
在我的对象中使用方法。希望你能理解和帮助我。
战士.cs:
public void Info()
{
Console.WriteLine("N: "
+ this.name
+ ", L: "
+ this.level
+ ", H: "
+ this.health
+ ", D: "
+ this.damage
+ ", A: "
+ this.agility);
}
课程.cs:
List<Warrior> lista = new List<Warrior>();
for (int i = 0; i < 10; i++)
{
lista.Add(new Warrior("Swordman" + i.ToString()));
}
foreach (Warrior item in lista)
{
lista.Info();//<----------This is where I get the error
}
该项的实例存储在item
中,而不是存储在lista
foreach (Warrior item in lista)
{
item.Info();
}
forach 从lista
调用 GetEnumerator(),并将lista
的每个元素存储在 item
中。
查看此处了解更多信息:foreach,在 http://msdn.microsoft.com/en-us/library/ttw7t8t6(v=vs.71)中.aspx
使用 item
而不是 lista
。 lista
是集合。
foreach (Warrior item in lista)
{
item.Info();//<----------This is where i get the error
}
您必须在item
上调用Info
方法,而不是在lista
本身上调用该方法:
foreach (Warrior item in lista)
{
item.Info();//
}
您的示例正在尝试运行 LIST 的 Info() 成员,您希望在其中运行列表中某个对象的成员。试试这个:
item.Info();
而不是
lista.Info();