この質問は、繰り返しのない変形の対象です(私は研究を行いました。私の仕事にとって非常にユニークな問題についていくつかの洞察が必要です)。ツイストの組み合わせと変形を生成するC#
私は基本的に、5桁の文字列の可能なすべてのバリエーションを見つけ、それらの文字列をリストに追加するルーチンを書くことを任されています。私の問題についての難しいことは、文字列の最初の3桁は0〜7の8進数で、文字列の最後の2桁は英数字の0〜7またはA〜Z *(文字IとOは除く)です。
私の研究を通じて、私は8進セットと英数字セットの別々の組み合わせを考え出すことができました。私はデバッガに組み合わせを表示し、それが動作していることを確認します。
static void Main()
{
string[] octalset = { "0", "1","2","3","4","5","6","7" };
List<string> tracknum15 = new List<string>();
List<string> tracknum19 = new List<string>();
var v = new Variations<string>(octalset,3,GenerateOption.WithRepetition);
foreach (var vv in v)
{
System.Diagnostics.Debug.WriteLine(string.Join("", vv));
tracknum15.Add(vv);
}
string[] alphanumericset = { "0", "1", "2", "3", "4", "5", "6", "7", "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "S", "T", "U", "V", "W", "X", "Y", "Z" };
var a = new Variations<string>(alphanumericset, 2, GenerateOption.WithRepetition);
foreach (var aa in a)
{
System.Diagnostics.Debug.WriteLine(string.Join("", aa));
}
}
私の主な問題は、私は最初の3桁8進数で、最後の二つが英数字である組み合わせのいずれかのリストを生成する方法を見つけ出すことができないということです。第2の問題は、私がそれらを生成した後にリストに自分の組み合わせを追加することができないということです。
私は自分自身で仕事を続けようとしていますが、自分よりも経験豊富な人からの洞察が自分の問題を解決するのに役立つと思いました。
ご協力いただきましてありがとうございます。
VV(文字列)Iの巣であれば、オクタルセット(000-777)と英数字セット(00-ZZ)のすべての組み合わせを検索し、それらを1つの文字列として表示しますか?私は既にすべての8進数とすべてのアルファの組み合わせのリストを別々に生成します。また、join( ""、vv)を使わずにそのキャストを使用しようとしましたが、エラーが発生します。 – kdun0508
ええ、000のように1つの8進数を作成してから、すべての英数字を作成してから、2番目の8進数を行い、すべての英数字をもう一度入力してください。 – Master117
これは最初のforeachループで8進数を作成します。その後、私はどのように言い方をするのが賢明な文法を持っているのですか.....今は000があるので、英数字のすべての組み合わせを表示したいと思っています。あなたはコードでそれをやっていく方法を少し明確にすることができますか? – kdun0508