string[] userInputs= { "a","c","b"}
DataRow[] datarows=//datarows contains values like "A","B","C","D","E"
List<DataRow> data = datarows.CopyToDataTable().AsEnumerable().ToList();
IEnumerable<DataRow> orderedData = data.OrderByDescending(item => Array.IndexOf(userInputs, item.Field<string>(columnName)));
//My datarows contains all values in uppercase but if user gives inputs in Lowercase ,then it is not working linq-orderby-against-specific-values
Edit : I cant force the User to give inputs in Lower/Upper and even my DataRow will also contain data in Both lower /upper. The query should work irrespective of the case.