Un program trebuie sa prelucreze volume mari de date iar pentru ca aceasta prelucrare sa se realizeze eficient este necesara organizarea datelor in structuri de date. De exemplu, putem ordona angajatii unei companii, alfabetic. Pentru acest lucru, va fi nevoie sa retinem intr-o structura de date numele si prenumele angajatilor si apoi sa ii putem ordona. Sau mai mult, tot cu ajutorul unei structuri de date puteam afisa angajatii companiei prin prisma relatiilor ierarhice.
Tipul triunghiului
Sa se determine tipul triunghiului in functie de valoarea laturilor.
Analiza Programului
Un triunghi echilatateral are toate laturile egale, un triunghi isoscel are doua laturi egale iar un triunghi oarecare nu are nici o latura egala.
using System; namespace Triangles { class Program { static void Main(string[] args) { //citirea valorilor de la tastatura int a, b, c; Console.Write("Introduceti a = "); Int32.TryParse(Console.ReadLine(), out a); Console.Write("Introduceti b = "); Int32.TryParse(Console.ReadLine(), out b); Console.Write("Introduceti c = "); Int32.TryParse(Console.ReadLine(), out c); if(a <=0 || b<=0 || c<=0) { Console.WriteLine("Nu se poate determina tipul triunghiului"); return; } //verifica daca triunghiul este echilateral if(a == b && b == c) { Console.WriteLine("Triunghiul este echilateral"); } //verifica daca triunghiul este isoscel else if(a == b || a == c || b == c) { Console.WriteLine("Triunghiul este isoscel"); } else { Console.WriteLine("Triunghiul este oarecare"); } } } }
LINQ to XML
LINQ to XML permite manipularea fisierelor XML cu ajutorul unor clase optimizate pentru interogarile de tip LINQ. Sintaxa este aceeasi folosita pentru interogarea obiectelor (vezi exemplu).
Fisierul xml pe care il vom folosi este:
<?xml version="1.0"?> <catalog> <book id="bk101"> <author>Gambardella, Matthew</author> <title>XML Developer's Guide</title> <genre>Computer</genre> <price>44.95</price> <publish_date>2000-10-01</publish_date> <description> An in-depth look at creating applications with XML. </description> </book> <book id="bk102"> <author>Ralls, Kim</author> <title>Midnight Rain</title> <genre>Fantasy</genre> <price>5.95</price> <publish_date>2000-12-16</publish_date> <description> A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world. </description> </book> <book id="bk103"> <author>Corets, Eva</author> <title>Maeve Ascendant</title> <genre>Fantasy</genre> <price>5.95</price> <publish_date>2000-11-17</publish_date> <description> After the collapse of a nanotechnology society in England, the young survivors lay the foundation for a new society. </description> </book> <book id="bk104"> <author>Corets, Eva</author> <title>Oberon's Legacy</title> <genre>Fantasy</genre> <price>5.95</price> <publish_date>2001-03-10</publish_date> <description> In post-apocalypse England, the mysterious agent known only as Oberon helps to create a new life for the inhabitants of London. Sequel to Maeve Ascendant. </description> </book> </catalog>
Pentru afisarea cartilor din categoria Computer se poate scrie:
XDocument document = XDocument.Load("Books.xml"); var allBooks = from book in document.Descendants("book") where book.Element("genre").Value == "Computer" select book.Element("title").Value; foreach (var item in allBooks) { Console.WriteLine(item.ToString()); }
Combinarea datelor in LINQ
Cuvantul cheie join este folosit pentru combinarea datelor din mai multe tabele, ceea ce confera o putere extraordinara pentru LINQ. Sa ne amintim interogarea, ordonarea, si filtrarea unei colectii cu LINQ. In exemplele prezentate foloseam clasele Author si Book. Pentru a evidentia importanta cuvantului cheie JOIN, voi vrea sa returnez titlul din colectia de carti combinat cu numele autorului.
var data = from book in myBooks join author in authors on book.AuthorId equals author.Id select new { Book = book.Title, Author = author.FirstName + " " + author.LastName }; foreach (var bookAuthor in data) { Console.WriteLine("{0} - {1}", bookAuthor.Book, bookAuthor.Author); }
Join-ul a permis intr-un mod eficient si usor combinarea elementelor.
Observati ca data este un tip anonim iar folosirea lui var este obligatorie.
Pana acum am folosit LINQ pentru interogarea colectiilor de obiecte. Intr-un articol viitor, vom vedea cum este posibila interogarea unui Web Service.
Articole programare #3
ILSpy.net – IlSpy este un de-compilator open-source pentru assembly-urile .Net. Cu ajutorul lui se pot decompila assembly-uri din FCL, inapoi in C#.
Popularitatea limbajelor – Conform Tiobe, ierarhia a ramas aceeasi, in comparatie cu anul trecut: 1 – Java, 2 – C, crestere pentru Objective-C, data de numarul aplicatiilor pentru IPhone, IPad, C++ mentine pozita 4, C# cade pe 5. Criteriile conform carora s-a creat clasamentul sunt prezentate aici.
SDL.NET -SDL.NET este o librarie cu ajutorul careia poti dezvolta jocuri in C#.
ILDASM
ILDASM – Intermediate Language Dissasembler este un de-compilator cu ajutorul caruia puteam accesa codul sursa dintr-un assembly. ILDASM poate analiza dll-uri sau exe-uri si le poate converti intr-o forma care poate fi citita de programator.
O chestie buna pt wordpress:
Toate bunatatile intr-un singur loc: http://plugintable.com/
{P} ITFest 2013 a dat drumul la înscrieri
ITFest 2013 a dat drumul la înscrieri!
De acum ai şansa să te înscrii la Concursul de proiecte, Workshop-uri și LAN Party-ul din cadrul ITFest 2013!
Concursul de proiecte reprezintă o parte importantă din cadrul ITFest. Aici elevi și studenți din întreaga țară au ocazia să se întâlnească într-un mediu care facilitează schimbul de experiență sau idei și, binenînțeles, să își prezinte lucrările, fiind recompensați în funcție de valoarea acestora.
Căutăm proiecte din următoarele domenii:
– Programare (inclusiv web)
– Design (media și web)
– Aplicații mobile
– Jocuri
– Hardware
Te poţi înscrie cu un proiect realizat de tine, sau într-o echipă de maxim 5 persoane.
Termenul limită pentru înscrierea unui proiect este 24 februarie, așa că nu mai aștepta și înscrie-te! Vei avea șansa să câștigi unul din premiile oferite de sponsorii noștri!
Dacă vrei să înveți ceva nou te așteptăm să te înscrii la Workshop-urile noastre. Acestea vor avea următoarea tematică:
Mobile Development : Android, Windows Phone 8, iOS
Game Development
Antreprenoriat în IT
Data limită pentru înscrierea la un proiect este 4 martie, dar locurile sunt limitate așa că grăbește-te și înscrie-te!
Dacă vrei să te distrezi și să demonstrezi că ești cel mai bun jucător de DOTA 2, LOL sau FIFA 11 te așteptăm să te înscrii la LAN Party, unde vei întâlni mulți alți tineri dornici de reușită. Pe lângă faptul că poți demonstra că ești cel mai bun, primele 3 locuri vor câștiga și câte un premiu.
ITFest 2013 va avea loc între 6 şi 10 martie, la Timişoara!
Pentru mai multe detalii și pentru înscriere intră pe http://www.itfest.ro .
Articole programare #2
Project Euler – O platforma care pune la dispozie o multime de probleme (matematica/programare) pentru rezolvare.
O idee despre cum ai putea scrie jocul Hangman in C#.
Resharper – Un articol despre cat de mult ajuta acest tool in activitatea zilnica a unui programator.
Ce mai face Windows Phone? – Alaturi de Huawei, Microsoft continua pe piata smartphone-urilor din Africa. Modelul se va numi Huawei 4Afrika, va rula Windows Phone 8 si va fi disponibil in cateva tari.
Articole programare #1
Voi incerca, de acum inainte, ca la sfarsitul fiecarei saptamani, sa adun cateva articole ce vor avea legatura cu .Net si C#, mai exact cu tema blogului.
.Net, incotro? – O parere despre viitorul .Net. C# si Xaml cel putin cativa ani de acum incolo.
Cum sa devii programator C#. Despre cum sa incepi sa programezi in .Net si ce iti mai trebuie in afara de perseverenta.
Programming-motherfucker – Doar programare.