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:

Result1


Tags: Linq

 
x