Bog*_*ger 1 c# foreach hashset
我想在hashset上使用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;
}
}
Run Code Online (Sandbox Code Playgroud)
}
有了这个代码VS说,foreach语句无法在类型"ConsoleApplication3.model.data.domain.Team"的变量操作,因为"ConsoleApplication3.model.data.domain.Team"不包含"的GetEnumerator"一个公共定义.
这里有两个冲突team; 有:
HashSet<HeroStats> team (场)Team team (参数)第二个优先于此,但你谈的是"关于一个hashset的foreach",所以我猜你的意思是迭代这个字段:
foreach (HeroStats h in this.team)
l.Add(h);
Run Code Online (Sandbox Code Playgroud)
(但请注意,您从未初始化l为新列表)
或者更简单:
return this.team.ToList();
Run Code Online (Sandbox Code Playgroud)
但请注意,这些都不会使用Team team传入的内容.