public static List<List<T>> AllCombinationsOf<T>(List<List<T>> sets)
{
var combinations = new List<List<T>>();
foreach (var value in sets[0])
combinations.Add(new List<T> { value });
foreach (var set in sets.Skip(1))
combinations = AddExtraSet(combinations, set);
return combinations;
}
private static List<List<T>> AddExtraSet<T>
(List<List<T>> combinations, List<T> set)
{
var newCombinations = from value in set
from combination in combinations
select new List<T>(combination) { value };
return newCombinations.ToList();
}
C# - List of List 排列组合
猜你喜欢
转载自blog.csdn.net/yuxuac/article/details/84783959
今日推荐
周排行