好的,我有两个清单。
List1 - 获取没有路径的文件的名称(因此我可以在动态创建的按钮上列出名称)。更多只是出于视觉目的。
List2 - 存储文件的实际路径。
现在我已经完成了List1.Sort();和List2.Sort()。 但由于它们是按字母顺序排列的,因此C:///的直接路径与Hello.png不同。 <(仅为示例名称)>
所以我面临的问题是,List1和2在存储实际元素的位置上并不相同。 (这有意义)。
那么有没有办法喜欢将List2排序以匹配与List1相同的顺序?反之亦然。所以,当我点击按钮时,它会加载所需的正确图像等。
答案 0 :(得分:1)
我同意上述注释,使用单个完整路径列表并使用System.Io.Path.FileName方法按文件名排序,无论目录如何。
var list2 = new List<string>() { @"C:\Directory1\B.txt", @"C:\Directory2\A.txt" };
var orderedList = list2.OrderBy(System.IO.Path.GetFileName);
//orderedList[0] is @"C:\Directory2\A.txt"
//orderedList[1] is @"C:\Directory1\B.txt"
答案 1 :(得分:0)
通过压缩两个列表来创建排序字典。
var sortedDict = new SortedDictionary<string, string>(
list1.Zip(ist2, (k, v) => new { k, v }).ToDictionary(x => x.k, x => x.v));