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 回答