Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Interogarea unei colectii cu LINQ

LINQ reprezinta un limbaj flexibil, cu o sintaxa asemanatoare SQL, creat pentru a oferi programatorului posibilitatea de a interoga un set de date, de orice fel (din baza de date, XML sau o colectie simpla de obiecte).

Presupunem ca avem urmatoarea structura a claselor:

    class Book
    {
        public string Title { get; set; }
        public int AuthorId { get; set; }
        public int Year { get; set; }

        public Book(string title, int authorId, int year)
        {
            Title = title;
            AuthorId = authorId;
            Year = year;
        }

        public override string ToString()
        {
            return String.Format("{0}, {1}", Title, Year);
        }
    }

    class Author
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }

        public Author(int id, string firstName, string lastName)
        {
            Id = id;
            FirstName = firstName;
            LastName = lastName;
        }
    }

            List<Author> authors = new List<Author>();
            authors.Add(new Author(1, "Jose", "Saramago"));
            authors.Add(new Author(2, "Victor", "Hugo"));

            List<Book> myBooks = new List<Book>();
            myBooks.Add(new Book("Eseu despre orbire", 1, 1995));
            myBooks.Add(new Book("Mizerabilii", 2, 1862));
            myBooks.Add(new Book("Pedepsele", 1853, 2));

In acest moment, LINQ imi permite, cu ajutorul celei mai simple interogari sa creez o lista cu toate cartile:

            var allBooks = from books in myBooks select books;

Observati folosirea cuvantul cheie var despre care am mai vorbit.
Afisarea informatiilor poate fi facuta printr-o simpla iteratie:

            foreach (Book book in allBooks)
            {
                Console.WriteLine(book.ToString());
            }

LINQ are o putere foarte mare in interogarea oricarui tip de sursa de date. Pot fi accesate informatii ale unui obiect care implementeaza interfata IEnumerable.

Voi continua aceasta serie de exemple LINQ pentru a ajunge la interogari complexe.

Category: Uncategorized

Your email address will not be published. Required fields are marked *

*