C#Windows窗体应用程序无法从基于Linux的服务器正确读取文件

C#Windows窗体应用程序无法从基于Linux的服务器正确读取文件,c#,linux,winforms,C#,Linux,Winforms,我制作了一个windows窗体应用程序,它可以做一些事情。当我想从基于linux的远程服务器加载文件时,所有这些都可以很好地工作 当加载并在文本框中列出文件时,我会得到不同的结果,这取决于我是从本地存储还是从基于linux的服务器加载文件。在本地完成时,应用程序会按正确的字母顺序列出文件,但从服务器读取时不会列出。然后它只是随机列出文件。(当然不是随机的,但你得到了它,不是通过文件大小、文件名或任何可以区分的东西) 为什么会这样?如果有的话,我能做些什么呢?在显示之前对文件进行排序 var fi

我制作了一个windows窗体应用程序,它可以做一些事情。当我想从基于linux的远程服务器加载文件时,所有这些都可以很好地工作

当加载并在文本框中列出文件时,我会得到不同的结果,这取决于我是从本地存储还是从基于linux的服务器加载文件。在本地完成时,应用程序会按正确的字母顺序列出文件,但从服务器读取时不会列出。然后它只是随机列出文件。(当然不是随机的,但你得到了它,不是通过文件大小、文件名或任何可以区分的东西)


为什么会这样?如果有的话,我能做些什么呢?

在显示之前对文件进行排序

var files = from file in Directory.GetFiles(folder)    
               orderby file descending 
               select file;


对于net 4.0或更高版本。

在我的例子中,因为我将文件路径存储在一个数组中,然后显示该数组的内容,所以对字符串数组进行排序就足够了

Array.Sort(filePathArray);

在显示之前,您是否尝试过对文件列表进行排序?能否显示一些您获得的文件路径示例?您是在对结果进行排序,还是仅仅假设它们应该按字母顺序排列?除非您特别要求某个组件按特定顺序给您提供文件(在这种情况下,显示代码),在大多数情况下,您应该假设从任何API返回的值都是随机排序的-除非另有说明或您自己实现排序。例如:“不保证返回文件名的顺序;如果需要特定的排序顺序,请使用该方法。”
string[]filePathArray=Directory.EnumerateFiles(folder.OrderByDescending(filename=>filename)对我不起作用:我做错了什么?只是对我的filePathArray排序就完成了这项工作<代码>数组.排序(filePathArray)我将在两天内接受我的答案,因为它对我有效。还是我应该接受另一个答案,认为它对公众有更大的帮助?请告知。
Array.Sort(filePathArray);