Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c如何在不操纵GetEnumerator方法的情况下绕过此问题?_C#_Foreach_Hashset - Fatal编程技术网

C# c如何在不操纵GetEnumerator方法的情况下绕过此问题?

C# c如何在不操纵GetEnumerator方法的情况下绕过此问题?,c#,foreach,hashset,C#,Foreach,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.

我想在哈希集上使用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”的公共定义

这里有两个相互冲突的团队;有:

散列队出场 团队成员请输入参数 第二个在这里优先,但您讨论的是哈希集上的foreach,所以我猜您的意思是迭代字段:

但是请注意,您从未将l初始化为新列表

或者更简单地说:

return this.team.ToList();
但是,请注意,它们都不使用传入的团队。

这里有两个相互冲突的团队;有:

散列队出场 团队成员请输入参数 第二个在这里优先,但您讨论的是哈希集上的foreach,所以我猜您的意思是迭代字段:

但是请注意,您从未将l初始化为新列表

或者更简单地说:

return this.team.ToList();

但是,请注意,它们都不使用传入的团队。

您需要初始化l,否则在调用Add on时会出错。重命名您的私有哈希集团队;你需要初始化l,否则当你调用Add时会出错。重命名你的私有HashSet团队;对英雄们来说,你们的问题会变得很清楚。他在一个团队中传球,所以也许他想要一个团队。团队。@Gabe可能是。。。可以是;只有警察才知道这件事sure@MarcGravell我认为加布是对的,OP被坏变量弄糊涂了,但我已经纠正了错误。从参数的命名来看,解决方案确实变得相当模糊,对此表示抱歉。我还注意到返回类型是错误的,因为方法的类型是Team,返回值的类型是List。非常感谢。他在一个队中传球,所以也许他想要一个队。一个队。@Gabe可能是。。。可以是;只有警察才知道这件事sure@MarcGravell我认为加布是对的,OP被坏变量弄糊涂了,但我已经纠正了错误。从参数的命名来看,解决方案确实变得相当模糊,对此表示抱歉。我还注意到返回类型是错误的,因为方法的类型是Team,返回值的类型是List。非常感谢。