LINQ como extensión de método

Ya he hablado de las extensiones de método y ya sabes como se crean. LINQ es una extensión de método de un IEnumerable. Eso significa que dentro de una clase que implemente un IEnumerable existe el método Where, OrdeBy y Select. Estos métodos y otros son extensiones de método que hacen LINQ. Miralo con un ejemplo:

C#
IEnumerable<Customer> customquery =
    from cust in customers
    where (cust.City == “London” && cust.Balance > 500)
    select cust;
Vb.Net
Dim customquery as IEnumerable(Of Customer)
customquery =
    From cust In customers
    Where (cust.City = “London” and cust.Balance > 500)
    Select cust

Es lo mismo que:

C#
IEnumerable<Customer> customquery =
    customers.Where<Customer>(c=>c.City==”London” && c.Balance > 500 ).Select<Customer>(c=>c);
Vb.Net
Dim customquery as IEnumerable(Of Customer)
customquery = customers.Where(Function(c) c.City=”London” and c.Balance > 500).Select(Function(c) c)

Aunque a primera vista parece que todo se complica mucho no lo es, lo único que tienes que entender es que es un FUNC y la expresión Lambda. Después verás que es muy, pero que muy fácil.

En otro post te voy a explicar los FUNC.

Advertisements

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s