【发布时间】:2015-03-20 19:36:12
【问题描述】:
我不知道错误是什么,我试图从列表中检索值并添加它们,我不知道代码中发生了什么,错误发生在 ReturnAttacks 和 AttackLoop。
public class test{
public static List<int> attacks = new List<int>();
public static void AddAttack(int attack){
attacks.Add (attack);
}
public static int ReturnAttacks(){
int numofattacks = attacks.Count;
int returnval = 10;
if (numofattacks > 5) {
return returnval;
}
AttackLoop();
}
public static int AttackLoop(){
foreach (int attack in attacks) {
return attack;
}
}
public static void Main()
{
AddAttack(1);
AddAttack(2);
AddAttack(3);
AddAttack(4);
AddAttack(5);
AddAttack(6);
int selection = ReturnAttacks();
}
}
【问题讨论】:
-
如果
attacks中没有攻击,那么AttackLoop返回什么?提示:它没有。修复它。ReturnAttacks也一样。 -
如果
int在您的AttackLoop方法中,您是否尝试返回IEnumerable? -
请说明您的预期结果值是多少。
-
您的一个问题是如果
numofattacksReturnAttacks() 中返回任何内容,另一个是如果attacks是,AttackLoop不会返回任何内容空 -
还有@RichardDing你能解释一下为什么你在foreach循环中调用/试图返回数据..也许你应该看看或重构你使用的代码
break;你也能更好地解释一下程序应该这样做..您似乎多次调用相同的方法传递 int 值..也许您可以有一个迭代和调用 ReturnAttacks 的方法调用在 for 循环等中使用单个方法调用...