を追加しましたしようとすると、これらのファイルをループして、 'プレフィックス'(最大文字は_
を含まず、リストにない場合はプレフィックスをリストに追加してから、ファイル名全体をその接頭辞の要素。最善の方法は、動的にそのような何かそれから、私はファイルのリストを持っており、それらのファイルのファイル名が、その後に下線をいくつかの文字を含む
これは混乱している可能性がありますので、ここに例があります:
ファイル名の一覧:
A_ieie.txt
B_ldld.txt
C_test.txt
A_232.txt
B_file2.txt
C_345.txt
だから私は、これらのファイルをループしてそのように接頭辞を取得しています:今
string prefix = fileName.Substring(0, fileName.IndexOf('_'));
、その接頭語がリストに既にある場合、私はチェック接頭辞、そうでない場合、それを追加します。
List<string> prefixes = new List<string>();
if (!prefixes.Contains(prefix))
{
prefixes.Add(prefix);
}
は、だからここにそのリストに追加されます接頭辞です:
A //not yet seen, add it to list
B //not yet seen, add it to list
C //not yet seen, add it to list
A //already seen, don't add
B //already seen, don't add
C //already seen, don't add
これは簡単ですが、プレフィックスを共有するファイル名をリストに追加する場合はどうなりますか?
これらは動的に追加され、何かになる可能性があるため、手作業で複数のリストを作成することはできません。私は約List
のlists
を持っていると思ったが、これを行うには本当に最善の方法ですか?クラスは理想的でしょうか?上記の例の最終目標は、のようなものになるだろう
:あなたは辞書をしたいよう
[0][0] = A_ieie.txt //This is the 'A' list
[0][1] = A_232.txt
[1][0] = B_ldld.txt //This is the 'B' list
[1][1] = B_file2.txt
[2][0] = C_test.txt //This is the 'C' list
[2][1] = C_345.txt
ちょっといいアイデアのようです。辞書を忘れてしまった。私はそれを試して、それがどのように動作するかを伝えます。ありがとうございました! – pfinferno
@Lee Gunnもし、ファイル名を繰り返したくないのなら、Dictionary>()は正しいですか? –
Parth
ええ、真実、それが問題ならばおそらくリストの代わりにHashSet –