LINQ – .NET Language Integrated Query II Dio


U nekoliko prethodnih postova pisao sam o novinama i proširenjima nove verzije C# 3.0. Proširenja koja su spomenuta omogućuju implementaciju LINQ (Language Integrated Query) kao nove tehnologije pristupa i manipulacije informacija u aplikaciji.

  • Također ovaj tekst predstavlja nastavak serije tekstova o LINQ

    LINQ Standardni operatori upita

    Uvod

    U prethodnom izlaganju vidjeli smo upotrebu nekoliko operatora upita. U ovom poglavlju pozabavićemo se više oko ovih operatora te vidjeti na koji ih način koristiti efikasno u programima. Razvijajući aplikacije, programer konstantno rješava određene probleme manipulacije sa podacima. U tu srhu koriste se određene preinstalirane biblioteke kao i biblioteke od trećih lica. Nažalost nismo uvijek u prilici da sa bibliotekama koje koristimo imamo riješene sve probleme.

    LINQ Operatori upita mnoge naše probleme kojim smo svakodnevno okruženi tokom razvoja aplikacija, mogu zaista efektivno riješiti u samo nekoliko linija koda. Kao što smo kazali LINQ ne predstavlja manipulaciju samo sa eksternim izvorima podataka, također ove osobine jezika koristimo i sa memorijskim izvorom. U narednom tekstu upoznat ćemo se sa operatorima upita te kroz primjere primjene, te pokazati njihovu jednostavnost, efikasnost i lakoću.

    Operatori sortiranja (orderby, reverse, descending)

    Već smo u I dijelu vidjeli upotrebu sortiranja podataka. Prednosti korištenja ovog operatora nad kolekcijama koje nemaju implementiranu ovu mogućnost su vrlo korisne.

    Uzmimo iz prethodnog primjera polje stringova i primjenimo operator sortiranja. Npr sortirajmo uzlaznim i slizanim redom gradove u BiH:

    Međutim sortiranje možemo izvršiti po nekom drugom kriteriju npr. po broju slova u nazivu:

    Kriterije možemo lančano slagati tačka notacijom. U tom slučaju koristimo ThenBy operator poslije OrderBy operatora. Kombinirajmo prethodna dva primjera i napišimo sljedeći primjer:

    Reverse operator koristimo kada želimo sortirani niz obrnuti. Sljedeći primjer prikazuje upotrebu operatora Reverse i OrderbyDescending, da bi prikazali suštinsku razliku između ova dva operatora.

    Rezultat prethodnih upita prikazan je na sljedećoj slici:

    Reverse operator za razliku od OrderBy operatora oslanja se samo na poredak podataka koji je dobijenih iz izvora podataka.

    U narednom poglavlju pozabavit ćemo se sa operatorima grupiranja i agregacijskim operatorima.

    Cjelokupan text u 5 dijelova koji je napisan o LINQ mozete skinuti odavde.

About Bahrudin Hrnjica

PhD in Mechanical Engineering, Microsoft MVP for .NET. Likes .NET, Math, Mechanical Engineering, Evolutionary Algorithms, Blogging.

Posted on 03/09/2007, in .NET, C# and tagged , . Bookmark the permalink. 1 Comment.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s