Query Reuse with deferred execution
Imports System.IO Imports System.Reflection Imports System.Linq Imports System.Xml.Linq Public Class MainClass Public Shared Sub Main Dim numbers() As Integer = {1,2,3,4,5,6,7,8,9,0} Dim lowNumbers = From num In numbers Where num <= 3 For Each n In lowNumbers Console.WriteLine(n) Next For i As Integer = 0 To numbers.Length - 1 numbers(i) -= 1 Next Console.WriteLine("Second run numbers <= 3:") For Each n In lowNumbers Console.WriteLine(n) Next End Sub End Class