c# - 按数组中文件名中的前 13 个字符对我从光盘读取的 XML 文件进行排序
问题描述
我需要按文件名分隔文件。我正在考虑按方法类型排序,并将具有相同 13 个第一个字符的文件放在一个数组或其他东西中。
所以到目前为止,我已经阅读了特定文件夹中的所有“Xml”文件并将它们放入一个数组中。
var filePath = @"C:\Users\Adam_\Desktop\MiP";
var di = new DirectoryInfo(filePath);
FileInfo[] files = di.GetFiles("*.xml");
foreach (FileInfo file in files)
{
var doc = new XmlDocument();
doc.Load(file.FullName);
解决方案
实际上你可以做类似的事情files.OrderBy(x=> x.Name)
那不是按 13 个第一个字符排序,但如果不是关键要求,这个排序是有效的。或您的完整要求版本,但有点尴尬:
files.OrderBy(x=> x.Name.Length > 12 ? x.Name.Substring(0, 13) : x.Name)
分组数据
var grouped = files.GroupBy(x => x.Name.Length > 12 ? x.Name.Substring(0, 13) : x.Name).ToLookup( x=> x.Key, x => x.ToList());
推荐阅读
- javascript - 检测元素何时到达视口顶部
- haskell - 为什么 makeLenses 不为一些量化的构造函数派生出一个镜头?
- c - 尝试运行二进制文件时旧 ld 中的 SEGFPE 错误
- python - 我有 'NoneType' 对象在 django 中没有属性 'groups'
- pandas - TypeError:熊猫中的“str”和“int”实例之间不支持“>”
- terraform - 在内联脚本中跳过地形插值
- javascript - 反应 i18next hasLoadedNamespace:i18next 未初始化未定义
- scala - 具有 reify 错误的创建树:宏扩展包含自由项变量 c
- r - R未能保留一些特殊字符
- python - 有人可以解释为什么 python 相对导入不直观吗?