【发布时间】:2017-04-03 10:45:02
【问题描述】:
我有一个List<TeamName>,其中TeamName 类包含List<MembersName>
所以我有这样的事情:
List<TeamName> teamNameList //each item of "tnl" has public member "memberNameList"
...
class TeamName //each team has different member
{
public TName
public List<MemberName> memberNameLis;
}
class MemberName
{
public MName;
}
现在我想对每个团队的 MemberName 进行所有可能的组合。
例如我有 3 个团队 (T1, T2, T3),他们的成员数为 -
T1 = 3 个成员,T2 = 2 个成员,T3 = 1 个成员,
所以现在我需要一些东西 -
T1M1 T2M1 T3M1
T1M1 T2M2 T3M1
T1M2 T2M1 T3M1
T1M2 T2M2 T3M1
T1M3 T2M1 T3M1
T1M3 T2M2 T3M1
List<List<MemberName>> combi;
如何在代码中做到这一点? 我只是一个初学者,所以请原谅我没有以干净的方式提出问题。 请帮忙:)
【问题讨论】:
-
组合:T1M1 T2M1 T3M1 T1M1 T2M2 T3M1 T1M2 T2M1 T3M1 T1M2 T2M2 T3M1 T1M3 T2M1 T3M1 T1M3 T2M2 T3M1
-
不,这两个问题都不同。每个团队都有不同的成员列表
-
@RaihanAl-maMun,不,我认为它只是笛卡尔积。让我发布答案。
-
作为副本提出的原始问题具有额外的复杂性,因此更难以在这里看到它的适用性。但这仍然是基本相同的问题。您只需要您的个人团队列表的笛卡尔积。上面标记的副本以类似的方式代表相同的基本问题,Eric 的回答参考了先前提出的副本以获得更详细的解决方案。更一般地说,在 Stack Overflow 上有 很多 的“笛卡尔积”问答,所以如果你在理解这两个方面有困难,只需寻找其他的。
标签: c# list combinations