我想使用单个整数选择整数组合,
就像我有一个数字1234
..现在我想要的是:1,2,3,4,12,23,34,123,234,1234
请帮助.. ??
答案 0 :(得分:0)
如果我理解你正确,你想要一个给定字符串的所有子串(在这种情况下是数字1234)。因此,对于长度 n 的字符串,有 n 子串长度为1, n - 1个长度为2的子串,等等,直到一个子串长度 n 。
鉴于您可以使用两个嵌套循环轻松解决此问题,例如:
public static IEnumerable<int> Foo(int x) {
string s = x.ToString();
for (int length = 1; length <= s.Length; length++) {
for (int i = 0; i + length < s.Length; i++) {
yield return int.Parse(s.Substring(i, length));
}
}
}
(未经测试且可能存在fencepost错误,但您明白了。)
答案 1 :(得分:0)
关于Permutations, Combinations, and Variations using C# Generics
的这篇文章怎么样?使用代码讨论排列和组合。