Estoy seguro de que podría utilizar myList.Exists
en VB.NET también, solo con su sintaxis de expresión lambda.
Sin embargo, la forma más general es usar el operador LINQ Any
, con la sobrecarga que toma un predicado. Por ejemplo:
myList.Any(Function(myObject) myObject.property1 = 3)
personalmente prefiero utilizar los operadores de LINQ a menos que el List<T>
método más específico proporciona una ventaja significativa por alguna razón.
EDIT:
Si necesita acceder al objeto después, sólo tiene que utilizar:
Dim foo = myList.FirstOrDefault(Function(myObject) myObject.property1 = 3)
If (foo Is Not Nothing) Then
...
End If
Gracias. Si hay una coincidencia, ¿cómo puedo acceder al elemento coincidente? ¿Utilizo singleOrDefault? – Prabhu
@Prabhu: O 'FirstOrDefault'. Le sugiero que lo use para empezar, no tiene sentido encontrarlo y luego volver a mirar. –
¡Gracias! De hecho, necesito acceder al elemento y también editar una propiedad. Si edito foo, ¿cómo puedo actualizar la lista con el foo actualizado? – Prabhu