首页 > 解决方案 > 从玩家列表中获取所有可能的 5 人团队组合

问题描述

这是一个类似于其他问题的问题,这些问题被问了很多,但我找不到任何与我想要实现的目标相匹配的东西。

在我的场景中,一个团队由 5 名玩家组成,由此类代表:

class Team
{
    int ID {get; set;}
    List<Player> Players { get; set; } = new List<Player>();
}

我的Player课看起来像这样:

class Player
{
    string Name { get; set; }
}

从我的数据库中,我得到一个List<Player>包含每个可用玩家(保证是唯一的)的。我确保我只能尽可能多地进入完整的团队(例如maximumPlayers = numberPlayers / 5;)。

目前,我可以轻松地循环遍历List<Player>并将每个Player人分配给 aTeam并每 5 名玩家创建一个新Team玩家(最大团队规模)。我将这些团队放入一个List<Team>.

我想创建每个组合List<Team>的球员在不同的球队组合中的不同组合,不包括相同的球员以不同的顺序。目的是将它们放入一个List<List<Team>>供以后评估的程序中。

我怎么能这样做?

标签: c#

解决方案


推荐阅读