Tengo una colección de nombres de archivos con parte de la ruta siendo una palabra específica. Puedo pedir la colección de esta manera:Ordenar una colección basada en otra colección
var files = from f in checkedListBox1.CheckedItems.OfType<string>()
orderby f.Substring(0,3)
select f;
Pero ahora, quiero ordenar por orden alfabético, no por parte ruta pero de acuerdo con un orden específico determinado por la otra colección.
Digamos que la parte del nombre de ruta puede ser "ATE", "DET" y "RTI". Tengo otra colección de cadenas: {"DET", "ATE", "RTI"} que quiero usar para ordenar los nombres de los archivos para que después de ordenarlos, los nombres de los archivos aparezcan con su nombre de parte en el orden "DET" primero, luego "ATE" , luego "RTI". ¿Cómo logro esto -> necesito usar un comparador propio?
posible duplicado de [C# Lista Ordenar Basado en otra lista] (http://stackoverflow.com/questions/3355928/c-sharp-sort-list-based-on-another-list) – nawfal