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.

Advertisements

About Bahrudin Hrnjica

PhD in Mechanical Engineering, Microsoft MVP for Visual Studio and Development Technologies. Likes .NET, Math,Data Science, Evolutionary Algorithms, Machine Learning, 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