Tengo una clase llamada Questions
. Este Questions
tiene propiedades QuestionID
y QuestionAnswer
. Al iterar a través de este List of Question
en foreach, tengo que encontrar .QuestionID = 12
. Si encuentro .QuestionID = 12
entonces tengo que asignar inmediatamente un valor a .QuestionAnswer = "SomeText"
de .QuestionID = 14
.Usando LINQ, ¿cómo puedo encontrar un objeto con un valor de propiedad dado de una lista?
No quiero volver a iterar dentro de .QuestionId = 12' to find
.QuestionID = 14` de nuevo.
¿Hay alguna manera de que pueda ir directamente al .QuestionID = 14
usando LINQ ?.
Por ejemplo:
For Each mQuestion As Question In _mQuestions
If mQuestion.QuestionId = 12 Then
'Find mQuestion.QuestionID= 14 and insert Somtext to
'mQuestion.QuestionAnswer="SomeText"
End IF
Next
Para mayor claridad, creo que esta pregunta está pidiendo un mecanismo que evita escribir explícitamente otra 'bucle dentro foreach' la instrucción 'if', no eliminando completamente el ciclo. Todas las respuestas dadas que involucran 'Any()' y 'FirstOrDefault()' efectivamente ocultan este segundo 'foreach' dentro de su respectiva implementación. –