按匹配的Enum的名称值排序List <String>

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列表的最佳方法是什么?

Ant*_*ram 5

如果文件名完全匹配,我不会使用枚举,而是使用另一个订单保留列表.

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 保留第一个序列的顺序,因此允许您使用它来订购第二个序列.