pro*_*ock 3 c# linq enums list matching
有点不确定如何做到这一点.我需要以与文件服务器上显示的顺序不同的顺序显示文件列表.
我想一种方法是通过匹配的枚举名称值来排序字符串列表.
假设我有一个完整的字符串列表:
List<string> filenames = new List<string>();
Run Code Online (Sandbox Code Playgroud)
我有一个相关的枚举以按特定顺序显示文件:
public enum ProcessWorkFlowOrder
{
File1,
File3,
File2
}
Run Code Online (Sandbox Code Playgroud)
List中的"filenames"字符串值将与Enum的名称完全匹配.
按匹配的枚举值匹配和排序FileNames列表的最佳方法是什么?
如果文件名完全匹配,我不会使用枚举,而是使用另一个订单保留列表.
List<string> namesInOrder = ...
List<string> files = ...
var orderedFiles = from name in namesInOrder
join file in files
on name equals file
select file;
Run Code Online (Sandbox Code Playgroud)
Join 保留第一个序列的顺序,因此允许您使用它来订购第二个序列.