gpt4 book ai didi

c# 如何在不操作 GetEnumerator 方法的情况下绕过这个问题?

转载 作者:太空宇宙 更新时间:2023-11-03 20:04:32 24 4
gpt4 key购买 nike

我想在哈希集上使用 foreach,但 VS 不允许。
这是我到目前为止所拥有的:

{
class Team
{
private HashSet<HeroStats> team;



public Team()
{

}
public void add(HeroStats hero) {
if (team.Count <= 5)
team.Add(hero);
else Console.WriteLine("Team is full , create another team");
}

public Team print(Team team) {
List<HeroStats> l;
foreach (HeroStats h in team)
l.Add(h);
return l;
}
}

对于这段代码,VS 表示 foreach 语句不能对类型为“ConsoleApplication3.model.data.domain.Team”的变量进行操作,因为“ConsoleApplication3.model.data.domain.Team”不包含“GetEnumerator”的公共(public)定义'.

最佳答案

有两个冲突的team这里;有:

  • HashSet<HeroStats> team (领域)
  • Team team (参数)

这里第二个优先,但你说的是“foreach on an hashset”,所以我猜你的意思是迭代字段:

foreach (HeroStats h in this.team)
l.Add(h);

(尽管请注意,您从未将 l 初始化为新列表)

或者更简单地说:

return this.team.ToList();

但是,请注意,这些都不使用 Team team这是传入的。

关于c# 如何在不操作 GetEnumerator 方法的情况下绕过这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24609536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com