Есть много способов сделать это, но некоторые ответы здесь создают список, содержащий элементы мусора, которые требуют очистки списка.
Если вы ищете пустой список универсального типа, используйте опцию Выбрать по списку кортежей, чтобы создать пустой список. Элементы не будут созданы.
Вот одна строка для создания пустого списка:
var emptyList = new List<Tuple<int, string>>()
.Select(t => new { Id = t.Item1, Name = t.Item2 }).ToList();
Затем вы можете добавить к нему свой общий тип:
emptyList.Add(new { Id = 1, Name = "foo" });
emptyList.Add(new { Id = 2, Name = "bar" });
В качестве альтернативы вы можете сделать что-то подобное ниже, чтобы создать пустой список (но я предпочитаю первый пример, потому что вы можете использовать его и для заполненной коллекции Tuples):
var emptyList = new List<object>()
.Select(t => new { Id = default(int), Name = default(string) }).ToList();