1 / 14

C# pentru începători

L3. C# pentru începători. Florin Tudor Cristea · Microsoft Student Partners. Implementarea colecţiilor şi a tipurilor generice în Microsoft .NET Framework 2.0. C3355. Obiective.

aysha
Download Presentation

C# pentru începători

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. L3 C#pentruîncepători Florin Tudor Cristea· Microsoft Student Partners

  2. Implementarea colecţiilor şi a tipurilor generice în Microsoft .NET Framework 2.0 C3355

  3. Obiective Colecţiile sunt peste tot. Avem o colecţie de angajaţi la o companie, de studenţi la o universitate, şi de contabili la o bancă. Avem o coadă de clienţi aşteptând să efectueze tranzacţii la un ATM. Avem o stivă de modificări aşteptând să fie traversate în sens invers. Putem folosi clasele de colecţii disponibile în .NET Framework pentru a simula cu uşurinţă oricare dintre aceste scenarii. Utilizând colecţiile, putem stoca o multitudine de obiecte într-un singur obiect. .NET Framework 2.0 introduce colecţiile generice şi clasele de bază referitoare la colecţii (aceste noi clase oferă funcţionalităţi îmbunătăţite şi ne permit să creăm propriile noastre tipuri colecţie în mod eficient). Astăzi vom discuta despre colecţiile primare (sau non-generice), colecţiile generice, colecţiile specializate, şi clasele de bază referitoare la colecţii.

  4. Examinând colecţiile şi interfeţele de colecţii

  5. Privire generală Proiect: ArraysTutorial Să presupunem că dezvoltăm o aplicaţie de management al angajaţilor. Implementăm o structură de date denumită employee pentru a stoca informaţiile referitoare la un angajat oarecare. Nu ştim însă numărul total de înregistrări pe care trebuie să le memorăm. Le-am putea ţine într-un vector, dar atunci ar trebui să scriem cod suplimentar pentru a permite adăugarea unui nou angajat. Mai întâi, trebuie să creăm un nou vector în care avem loc pentru un element adiţional. Apoi, copiem elementele din vectorul original în vectorul nou, adăugând la final elementul dorit. Pentru a uşura acest proces, .NET Framework pune la dispoziţie o serie de clase ce sunt cunoscute colectiv drept colecţii. Utilizând colecţiile, putem stoca mai mulţi itemi într-un singur obiect. Colecţiile prezintă metode pe care le putem folosi pentru a adăuga şi scoate itemi. Aceste metode redimensionează automat structurile de date corespunzătoare fără a necesita cod adiţional.

  6. Puncte cheie • Vectorii nu pot fi redimensionaţi dinamic. • Majoritatea colecţiilor avansate se regăsesc în spaţiul de nume System.Collections. • .NET Framework 2.0 introduce colecţiile generice. • Putem specifica tipul de date ce urmează să fie stocat într-o colecţie generică. • Colecţiile sunt tipuri care pot fi enumerate. • Iteratorii sunt o noutate în .NET Framework 2.0 şi sunt disponibili numai în C#.

  7. Interfeţele de colecţii • IComparable… CompareTo • ICollection… mărime, enumeratori, metode de sincronizare • IList… indexare • IComparer… Compare • IEqualityComparer… echivalenţă colecţii • IDictionary… comportament pereche cheie–valoare • IEnumerable… GetEnumerator, foreach • IEnumerator… iteraţie simplă

  8. Lucrând cu colecţiile primare

  9. Privire generală Colecţiile primare (sau non-generice) sunt folosite pentru a stoca mai multe tipuri neînrudite. Spre exemplu, avem nevoie să creăm o aplicaţie de inventariere a componentelor unui anumit automobil. O colecţie non-generică precum clasa ArrayListeste ideală pentru a stoca toţi aceşti itemi ca un grup, în special dacă avem nevoie să pasăm colecţia unei metode. Alte tipuri de colecţii non-generice sunt Stack, Queue, SortedList, Hashtable, Comparer şi BitArray. Fiecare din acestea manifestă un comportament specific. Spre exemplu, clasa SortedList oferă un mecanism intern de sortare pentru itemii pe care îi conţine, în timp ce clasele Stack şi Queue menţin secvenţa în care itemii sunt adăugaţi şi scoşi din colecţie.

  10. ArrayList Proiect: ArrayListSample Count Add BinarySearch Clear Contains Remove Sort ToArray

  11. Stack Proiect: StackSample Count Push Pop Peek

  12. Queue Proiect: QueueSample Count Enqueue Dequeue Peek

  13. Key-value pairs Proiect: KeyValuePairsSample Comparer Hashtable SortedList

  14. TO BE CONTINUED

More Related