更改数组ToLower()中的文件名时,是否需要在将文件名更改为较低后重新填充数组?

时间:2012-08-30 16:29:17

标签: c# arrays path

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),并使用降低的大小写名称,就像我在上面做的那样?

3 个答案:

答案 0 :(得分:1)

GetExtension()方法生成的文件扩展名在.Net

中区分大小写

答案 1 :(得分:1)

使用EndsWith的适当重载,您可以停止关注案例。

// for example
file.EndsWith(".db", StringComparison.OrdinalIgnoreCase)

答案 2 :(得分:0)

如果您的意思是“将在此处更改原始字符串对象”:

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

然后答案是“否”,originalFiles数组中的每个项目都将保持不变。