Ponowne użycie zapytania LINQ i odroczone wykonanie

Miałem wrażenie, że mogę utworzyć zapytanie LINQ, a następnie użyć go ponownie, zmieniając parametry. Ale wydaje się, że nie możesz zmienić kolekcji źródłowej. Czy ktoś może mi wyjaśnić, dlaczego, ponieważ wyraźnie źle zrozumiałem coś fundamentalnego.

Oto przykładowy kod.

var source = Enumerable.Range(1, 10);
var value = source.Where(x => x > 5);
var first = value.ToArray();

source = Enumerable.Range(11, 20);
var second = value.ToArray();

Spodziewałem się najpierw 6,7,8,9,10, a drugi 11-20.

questionAnswers(3)

yourAnswerToTheQuestion