Как добавить элемент в коллекцию с помощью Linq и С#

У меня есть набор объектов. например.

List<Subscription> subscription = new List<Subscription>
{
    new Subscription{ Type = "Trial", Type = "Offline", Period = 30  },
    new Subscription{ Type = "Free",  Type = "Offline", Period = 90  },
    new Subscription{ Type = "Paid",  Type = "Online",  Period = 365 }
};

Теперь я хочу добавить еще один элемент в этот список, используя LINQ. Как я могу это сделать?

Ответ 1

Нет. LINQ предназначен для запросов, а не для добавления. Вы добавляете новый элемент, записывая:

subscription.Add(new Subscription { Type = "Foo", Type2 = "Bar", Period = 1 });

(Обратите внимание, что вы не можете указать свойство Type дважды в одном и том же инициализаторе объекта.)

Это не использует LINQ вообще - он использует инициализаторы объектов и простой метод List<T>.Add.

Ответ 2

Я бы предложил использовать List.Add():

subscription.Add(new Subscriptioin(...))

LINQ Union() overkill, обернув один элемент экземпляром List<>:

subscriptions.Union(new List<Subscription> { new Subscriptioin(...) };