私は数字を持っているように、単一の整数を使用して整数の組み合わせを選びたい..今私が欲しいのは:1234
1,2,3,4,12,23,34,123,234,1234
親切に助けて..??
私は数字を持っているように、単一の整数を使用して整数の組み合わせを選びたい..今私が欲しいのは:1234
1,2,3,4,12,23,34,123,234,1234
親切に助けて..??
私があなたを正しく理解しているなら、あなたは与えられた文字列のすべての部分文字列(この場合は番号1234)が必要です。したがって、長さnの文字列の場合、長さnの1つの部分文字列まで、長さ1のn個の部分文字列、長さ2のn −1個の部分文字列などがあります。
2つのネストされたループでこれを簡単に解決できるとすると、次のようになります。
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));
}
}
}
(テストされておらず、フェンスポストエラーが発生している可能性がありますが、アイデアは得られます。)
C#ジェネリックを使用した順列、組み合わせ、バリエーションに関するこの記事はどうですか
ここでは、順列と組み合わせがコードとともに説明されています。