using System.Collections.Generic;
using System.Threading.Tasks;
namespace ConsoleApplication10 {
public int ID { get; set; }
public int? Order { get; set; }
public Foo(int id, int? order) {
public static void Main(string[] args) {
var ListT = new List<int> {1090,1089};
var ListTOrder = ListT.Select((x, index) => new { Item = x, Index = index }).ToDictionary(x => x.Item, x => x.Index);
List<Foo> ListB = new List<Foo> {
ListB = ListB.OrderBy(x => ListTOrder[x.ID]).ThenBy(x => x.Order).ToList();
foreach (var item in ListB) {
Console.WriteLine(item.ID + " - " + item.Order);