macbook osx 文件按名称排序混乱
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了macbook osx 文件按名称排序混乱相关的知识,希望对你有一定的参考价值。
在文件夹内选定文件了然后点按排序方式 -名称根本不按数字顺序来排列sierra 10.12.6 系统这个要怎么破
系统设置-语言与地区-排序分类方式,修改后,排序方式就会发生变化
另外,在排序的地方敲 command+j 弹出框中两个选项调整一下。
谢谢 你的回答 但是还是不好使
参考技术B 我也遇到这个问题,不过我发现,将分栏切换成列表和图标的形式下排序就正常了 参考技术C 没有办法,我也找了很多方法,都不行,甚至文件夹和文件混排,真的搞不懂。排照片都没有按时间顺序排的。如何按名称对文件列表进行排序以匹配 Windows 资源管理器显示它们的方式?
【中文标题】如何按名称对文件列表进行排序以匹配 Windows 资源管理器显示它们的方式?【英文标题】:How would I sort a list of files by name to match how Windows Explorer displays them? 【发布时间】:2010-11-04 00:30:31 【问题描述】:假设我在资源管理器中按名称对文件列表进行了排序,如下所示:
2009-06-02-4.0.9.txt 2009-06-02-4.0.10.txt 2009-06-02-4.0.11.txt 2009-06-02-4.0.12.txt
我有一个 FileInfo 比较器,它按名称对 FileInfo 对象数组进行排序:
class FileInfoComparer : IComparer<FileInfo>
public int Compare(FileInfo x, FileInfo y)
return string.Compare(x.FullName,
y.FullName,
StringComparison.OrdinalIgnoreCase);
使用此比较器从上面对相同的文件列表进行排序会产生:
2009-06-02-4.0.10.txt 2009-06-02-4.0.11.txt 2009-06-02-4.0.12.txt 2009-06-02-4.0.9.txt
这是有问题的,因为顺序非常重要。
我想有一种方法可以模仿 Windows 在 C# 代码中所做的事情,但我还没有找到方法。任何帮助表示赞赏!
谢谢!
【问题讨论】:
Natural Sort Order in C#的可能重复 【参考方案1】:您也可以使用 P/Invoke 来调用 win32 API。这将是最一致的行为,并且可能表现更好(我将对这两个选项进行基准测试)。甚至代码项目链接也不完全符合 windows 的行为,也不是未来的证明。
【讨论】:
【参考方案2】:Windows 资源管理器使用一个名为:
StrCmpLogicalW
以“逻辑”方式执行排序。
有人也有implemented a class in C# 会为你做这件事。
【讨论】:
【参考方案3】:您需要一个自然数字排序,不幸的是在 .NET 框架中没有本机实现。 CodeProject 上的This article 将告诉您有关制作自己的 .NET 克隆所需了解的所有信息。
【讨论】:
在托管代码中实现您自己的 StrCmpLogicalW 版本是最佳选择,代码项目文章使这变得非常容易。【参考方案4】:有时,根据数据,您可以这样做:
using System.Linq;
...
string[] dirs = _fileSystem.GetDirectories(_root);
dirs = dirs.OrderBy(x => x.Length).ThenBy(x => x);
这适用于您的问题中的示例数据。
【讨论】:
以上是关于macbook osx 文件按名称排序混乱的主要内容,如果未能解决你的问题,请参考以下文章