【发布时间】:2011-06-14 19:11:31
【问题描述】:
我(在 C# 中)有一个对象列表(每个对象都包含一个列表),我想打印出对象列表中项目的每个排列。每次迭代将使用每个列表中的一项。实现这一目标的最有效方法是什么?欢迎使用伪代码。
public class Detail {
public int type;
public List<String> codes;
public Detail(int i){
this.type = i;
this.codes = new List<String>();
}
}
稍后...
List<Detail> ListOfDetail = new List<Detail>();
foreach(Field i in listBox.Items)
ListOfDetail.Add(new Detail(i));
从 db 分配的代码列表可以是 2 到 250 之间的任何值。
如果我有 3 个对象(A、B 和 C),A 持有 1,2,3,B 持有 4,5,6,C 持有 7,8,9,我希望它打印以下:
147
148
149
157
158
159
167
etc...
【问题讨论】:
-
能否提供对象模型的粗略代码大纲?描述有点模糊,我不相信你会想看到答案的猜测。
-
好的,所以随着你的更新,你有一个任意长的详细信息列表,每个都有一个任意长的字符串列表。 Eric Lippert 写了关于 a cartesian product of arbitrarily many sequences 的博客,它可能会对您有所帮助。
标签: c# list permutation