вторник, 11 ноября 2008 г.

Знакомство с LINQ

Что за зверь? Этим вопросом я задался. Оказалось - это новая фишка от Microsoft. Позволяет делать прикольные штуки. Например выборку из массива, сортировку, упрощает работу с SQL.

Начну с простого примера!
Создаем консольное приложение (.Net Framework 3.5):

using System;
using System.Collections.Generic;
using System.Linq; //Вот наша прелесть ;)
using System.Text;

namespace LinqTests
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Console.WriteLine("***Fun with LINQ***");
            Console.ReadLine();
        }
    }
}

Теперь допишу функцию QueryOverStrings():
        static void QueryOverStrings()
        {
            string[] currentVideoGames = {"Morrowind", "Bioshock", "Portal", "Hover Ace", "Freelancer",  "Sonic"};
            IEnumerable subset = from game in currentVideoGames where game.Length > 6 orderby game select game;
            foreach (string s in subset)
            {
                Console.WriteLine("Item {0}:", s);
            }
            Console.ReadLine();
        }

Начну по порядку. Мы создали строковый массив currentVideoGames. Записали в него названия нескольких игрушек ;). Далее самое интересное! Используем LINQ. Мы создаем запрос subset, по которому выбираем из нашего массива только те игры, название которых больше 6-ти символов в алфавитном порядке.
Вот и все! Далее используем цикл foreach для отображения нашего запроса на экране, т.е. будут показаны игры, названия которых больше 6-ти символов, как мы и хотели.

Ну и конечно же вызываем эту функцию в main:
QueryOverStrings();
Console.ReadLine();

P.S. Посвящается всем моим знакомым, которые, по не понятным мною причинам, не хотят изучать книги по C# на английском языке.

Комментариев нет: