En otra pregunta sobre SO, respondí con un código como el siguiente y recibí un comentario de que la consulta LINQ probablemente se evaluó en cada iteración de for/each. ¿Es eso cierto?¿Se ejecuta esta consulta linq en cada iteración del bucle for-each?
Sé que LINQ-querys no se ejecuta antes de que se evalúen sus elementos, por lo que parece posible que esta forma de iterar el resultado pueda hacer que se ejecute en cada iteración.
Dim d = New Dictionary(Of String, String)()
d.Add("Teststring", "Hello")
d.Add("1TestString1", "World")
d.Add("2TestString2", "Test")
For Each i As String In From e In d Where e.Value.StartsWith("W") Select e.Key
MsgBox("This key has a matching value:" & i)
Next
Bueno, parece que lo que tenía está bien, pero al menos formatee al final de la línea _ por lo que no está en una línea grande :) –
Sí. Esta evaluación tardía con LINQ tomará un tiempo para familiarizarse. – Stefan
Sí, lo hace ... pero es genial una vez que lo tienes, puedes hacer algunas cosas bastante dulces. –