1
if (fbFolderBrowser.ShowDialog() == DialogResult.OK)
            {
                LastSelectedFolder = fbFolderBrowser.SelectedPath;

                originalFiles = Directory.GetFiles(fbFolderBrowser.SelectedPath).Where(file => !file.EndsWith(".db")).ToArray();

                //lower casing the extensions here.
                foreach (string file in originalFiles)
                {
                    File.Move(file, Path.ChangeExtension(file, Path.GetExtension(file).ToLower()));
                }

                //after im done changing the files to lower case, do I need to repopulate the array with the lowered case file names?
                originalFiles = Directory.GetFiles(fbFolderBrowser.SelectedPath).Where(file => !file.EndsWith(".db")).ToArray();
            }

フォルダー内の各ファイルを調べて、拡張子が小文字であることを確認した後、上記のように小文字の名前で配列 (この場合は originalFiles) を再作成する必要がありますか?

4

3 に答える 3

1

()メソッドによって生成されるファイル拡張子はGetExtension、.Netでは大文字と小文字が区別されます

于 2012-08-30T16:33:30.963 に答える
1

の適切なオーバーロードを使用するEndsWithと、大文字と小文字を気にする必要がなくなります。

// for example
file.EndsWith(".db", StringComparison.OrdinalIgnoreCase)
于 2012-08-30T16:33:32.983 に答える
0

「元の文字列オブジェクトはここで変更されますか」という意味の場合:

File.Move(file, Path.ChangeExtension(file, Path.GetExtension(file).ToLower()));

答えは「いいえ」originalFilesです。配列内の各項目は変更されません。

于 2012-08-30T16:35:57.257 に答える