Sono sicuro che si potrebbe usare myList.Exists
anche in VB.NET, con la sua sintassi di espressione lambda.
Tuttavia, il modo più generale è utilizzare l'operatore LINQ Any
, con il sovraccarico che richiede un predicato. Per esempio:
myList.Any(Function(myObject) myObject.property1 = 3)
Personalmente preferisco utilizzare gli operatori LINQ a meno che il metodo più specifico List<T>
fornisce un vantaggio significativo per qualche motivo.
EDIT:
Se è necessario accedere all'oggetto in seguito, basta usare:
Dim foo = myList.FirstOrDefault(Function(myObject) myObject.property1 = 3)
If (foo Is Not Nothing) Then
...
End If
fonte
2011-01-11 20:55:13
Grazie. Se c'è una corrispondenza, come posso accedere all'elemento abbinato? Devo usare singleOrDefault? – Prabhu
@Prabhu: Oppure 'FirstOrDefault'. Ti suggerisco di usarlo per cominciare - non ha senso trovarlo, e poi guardare di nuovo. –
Grazie! In realtà ho bisogno di accedere all'elemento e anche modificare una proprietà. Se modifico foo, come faccio ad aggiornare l'elenco con il foo aggiornato? – Prabhu