使用数组按顺序获取文件

taj*_*i01 5 .net c# arrays file winforms

我正在使用 WinForms。在我的表单中,我有一个文本框,在其中放置文件路径以查看该特定文件夹中的文件。问题是我的数组索引对文件的排序与我在文件夹中看到的不同。如何使我的数组与我在文件夹中看到的内容相匹配?

    private void Button_Click(object sender, EventArgs e)
    {
      string[] array1 = Directory.GetFiles(img_Source_TxtBox.Text);
    }
Run Code Online (Sandbox Code Playgroud)
  • 请注意,我的数组索引是来自该特定目录的随机索引。

数组值

在此输入图像描述

我的文件夹值

在此输入图像描述

Edg*_*oks 5

问题是您看到的排序顺序是 Windows 文件资源管理器会话的一部分,而不是文件在磁盘上“排序”的方式。如您所知,您可以打开两个窗口并进行不同的排序。

为了更接近您需要的内容,您可以调查:

  • 默认情况下,文件在 Windows 中的排序方式类似于中性顺序,
  • Windows 中的排序算法是否存在任何差异(例如名称包含数字)

然后您将必须在您的应用程序中应用相同的逻辑。

编辑:找到一篇文章提供了有关此问题的更多详细信息:C# 中的自然排序顺序