【发布时间】:2014-10-31 20:50:11
【问题描述】:
我需要用一个字符串键和一个字符串列表作为值的字典,并找到它可以进行的所有组合。 例如:
var myDictionary = new Dictionary<string, List<string>>
{
{"X", new List<string> {"x", "y", "z"}},
{"Y", new List<string> {"x", "y"}},
{"Z", new List<string> {"a", "b"}}
};
将翻译为:
{X: x, Y: x, Z: a}
{X: x, Y: x, Z: b}
{X: x, Y: y, Z: a}
{X: x, Y: y, Z: b}
{X: y, Y: x, Z: a}
{X: y, Y: x, Z: b}
{X: y, Y: y, Z: a}
{X: y, Y: y, Z: b}
{X: z, Y: x, Z: a}
{X: z, Y: x, Z: b}
{X: z, Y: y, Z: a}
{X: z, Y: y, Z: b}
我怎样才能以最聪明的方式做到这一点?
【问题讨论】:
-
您需要使用字典吗?
-
你知道排列吗?
-
在 sql server 中使用交叉连接
-
您正在寻找的东西称为“笛卡尔积”
-
这个问题可能会有所帮助:Generating all Possible Combinations
标签: c# dictionary combinations