Come ottenere il primo elemento di una lista applicando un filtro?
Scritto da
Alessandro Mostarda il
mercoledì 12 maggio 2010
•
Linguaggio:
•
Utilizzando l'extension method di Linq è
possibile ottenere il primo elemento di una lista che corrisponde
ad un determinato filtro.
C#
class Program
{
static void Main(string[] args)
{
List<MiaClasse> lista = new List<MiaClasse>()
{
new MiaClasse() { Nome = "Uno" },
new MiaClasse() { Nome = "Due" },
new MiaClasse() { Nome = "Tre" }
};
var due = lista.FirstOrDefault(item => item.Nome == "Due");
Console.WriteLine("Due={0}", due);
var quattro = lista.FirstOrDefault(item => item.Nome == "Quattro");
Console.WriteLine("Quattro={0}", quattro);
Console.Read();
}
}
class MiaClasse
{
public string Nome { get; set; }
public override string ToString()
{
return Nome;
}
}
VB.NET
Public Sub Main(ByVal args As String())
Dim lista = New List(Of MiaClasse)()
With lista
.Add(New MiaClasse With {.Nome = "Uno"})
.Add(New MiaClasse With {.Nome = "Due"})
.Add(New MiaClasse With {.Nome = "Tre"})
End With
Dim due = lista.FirstOrDefault(Function(item) item.Nome = "Due")
Console.WriteLine("Due={0}", due)
Dim quattro = lista.FirstOrDefault(Function(item) item.Nome = "Quattro")
Console.WriteLine("Quattro={0}", quattro)
Console.Read()
End Sub
Public Class MiaClasse
Private _Nome As String
Public Property Nome() As String
Get
Return Me._Nome
End Get
Set(ByVal value As String)
Me._Nome = value
End Set
End Property
Public Overrides Function ToString() As String
Return Me.Nome
End Function
End Class
Se inseriamo il codice precedente in una applicazione console
otterremo il seguente risultato:

Tags: Linq