using System.Collections.Generic;
public static void Main()
Console.WriteLine("Hello World");
List<Test> list = new List<Test>();
list.Add( new Test { ID = 5, LanguageID = 10 } );
list.Add( new Test { ID = 3, LanguageID = 11 } );
list.Add( new Test { ID = 1, LanguageID = 12, CountryID = 80 } );
list.Add( new Test { ID = 2, LanguageID = 13 } );
list.Add( new Test { ID = 12, LanguageID = 12 } );
list.Add( new Test { ID = 6, LanguageID = 14 } );
.OrderByDescending( x => x.ID == theOne.ID )
.ThenByDescending( x => x.CountryID == theOne.CountryID && x.LanguageID == theOne.LanguageID )
.ThenByDescending( x => !x.CountryID.HasValue && x.LanguageID == theOne.LanguageID )
foreach( Test item in list )
Console.WriteLine( item.ID.ToString() );
Console.WriteLine( "Choose: " + list.First().ID );