- •Введение в язык c# и .Net Framework
- •Язык c#
- •Архитектура платформы .Net Framework
- •Создание первого приложения c#
- •Создание приложения c#
- •Создание консольного приложения c#
- •Создание приложений Windows Forms на c#
- •Создание приложения wpf c#
- •Создание обработчиков событий
- •Создание пользовательского интерфейса в Visual c#
- •Добавление элементов управления
- •Задание свойств
- •Обработка событий
- •Использование элемента управления "Button"
- •Использование кнопок в программе
- •Программный вызов события нажатия кнопки
- •Использование кнопок в программе
- •Создание группы переключателей из массива строк
- •Компиляция кода
- •Создание непрямоугольной кнопки
- •Компиляция кода
- •Отображение текста в форме Windows Forms
- •Отображение текста в надписи
- •Использование элемента управления "TextBox" для получения вводимых данных
- •Извлечение введенных в текстовое поле данных
- •Установка выделения текста в элементе управления "TextBox"
- •Компиляция кода4
- •Надежное программирование
- •Загрузка текста в элемент управления "RichTextBox"
- •Компиляция кода
- •Диалоговые окна Извлечение данных из диалогового окна
- •Создание основной формы приложения
- •Создание диалогового окна
- •Извлечение данных из диалогового окна
- •Просмотр папки
- •Отображение диалогового окна обозревателя папок
- •Сохранение файла в папку
- •Отображение диалогового окна обозревателя папок
- •Отображение списка шрифтов
- •Отображение диалогового окна выбора шрифта
- •Динамическое отображение компонента OpenFileDialog
- •Компиляция кода
- •Надежное программирование
- •Отображение цветовой палитры
- •Отображение диалогового окно выбора цвета
- •Добавление и удаление элементов в элементе управления "ListBox"
- •Компиляция кода
- •Определение выбранных элементов в элементе управления "ListBox"
- •Компиляция кода
- •Заполнение элемента управления "ListBox" массивом строк
- •Компиляция кода
- •Надежное программирование
- •Поиск элемента в элементе управления "ListBox"
- •Компиляция кода
- •Извлечение даты в элементе управления "DateTimePicker"
- •Компиляция кода
- •Отображение времени в надписи
- •Компиляция кода
- •Отображение даты и времени в приложении
- •Отображение даты с помощью элемента управления "MonthCalendar"
- •Отображение времени с помощью элемента управления "DateTimePicker"
- •Определение интервала между двумя датами
- •Компиляция кода
- •Создание настраиваемого пользовательского интерфейса
- •Добавление панелей инструментов в приложение Windows Forms
- •Добавление набора стандартных кнопок панели инструментов
- •Создание всплывающей подсказки для элемента управления
- •Компиляция кода13
- •Создание контекстного меню и присоединение его к элементу управления
- •Компиляция кода14
- •Добавление элементов управления Windows Forms во время выполнения
- •Компиляция кода15
- •Чтение xml из файла
- •Пример18
- •Компиляция кода
- •Надежное программирование
- •Чтение данных класса из xml-файла
- •Пример19
- •Компиляция кода
- •Надежное программирование
- •Рисование текста и графики
- •Отрисовка текста в форме
- •Компиляция кода
- •Надежное программирование
- •Изменение цвета текста в элементе управления Windows Forms
- •Пример21
- •Компиляция кода
- •Рисование кривой в форме
- •Компиляция кода
- •Надежное программирование
- •Рисование контурных фигур
- •Пример23
- •Компиляция кода
- •Надежное программирование
- •Добавление файлов мультимедиа в приложение
- •Внедрение проигрывателя Windows Media в форму
- •Добавление элемента управления "Windows Media Player" в панель элементов.
- •Добавление элемента управления "Windows Media Player" в форму Windows Forms
- •Воспроизведение звука в приложении
- •Воспроизведение аудиофайла
- •Создание и использование точечных рисунков и значков
- •Создание точечного рисунка во время выполнения
- •Компиляция кода
- •Надежное программирование
- •Преобразование изображений из одного формата в другой
- •Пример28
- •Компиляция кода
- •Получение значения из другой формы
- •Пример29
- •Компиляция кода
- •Создание приложений wpf
- •Создание пользовательского интерфейса для приложения wpf
- •Создание приложения wpf
- •Добавление элементов управления в окно wpf
- •Добавление элемента управления в окно wpf
- •Стандартные элементы управления wpf
- •Процедура Добавление элемента управления в окно wpf
- •Стандартные элементы управления wpf
- •Создание обработчиков событий для элементов управления wpf
- •Создание обработчика событий для кнопки
- •Подключение к данным
- •Подключение к базе данных
- •Добавление подключения к базе данных "Northwind"
- •Отображение связанных данных в форме
- •Отображение связанных данных в форме
- •Использование linq в c# Express
- •Преимущества использования linq
- •Расширения языка c# для поддержки linq
- •Написание запросов linq
- •Язык c# для начинающих Структура программы c#
- •"Hello World" в стиле c#
- •Директивы using и пространства имен
- •Комментарий
- •Консольный ввод и вывод
- •Структура программы и ход выполнения
- •Приложения Windows Forms36
- •Консольные приложения
- •Пространства имен
- •Ускоренный доступ к содержимому пространства имен
- •Создание собственного пространства имен
- •Классы и объекты
- •Члены экземпляра и статические члены37
- •Классы и файлы
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •Конструкторы
- •Перегрузка методов
- •Деструкторы
- •Вызов метода в объекте
- •Компиляция кода
- •Наследование от класса
- •Компиляция кода
- •Имитация параметров по умолчанию
- •Компиляция кода
- •Задание свойства объекта
- •Компиляция кода
- •Структуры
- •Результат
- •Переменные и константы
- •Константы
- •Встроенные типы данных
- •Использование встроенных типов данных
- •Преобразование типов данных
- •Пример.
- •Типы значений и ссылочные типы
- •Упаковка и распаковка
- •Проблемы производительности
- •Операторы
- •Операторы равенства и назначения
- •Логические и математические операторы
- •Операторы увеличения и уменьшения
- •Реляционные операторы
- •Перегрузка операторов
- •Выбор и ветвление
- •Циклы foreach
- •Циклы for
- •Циклы while
- •Работа со строками Escape-знаки
- •Символ @
- •Доступ к отдельным знакам
- •Смена регистра
- •Сравнения
- •Разделение строки на подстроки
- •Использование класса StringBuilder
- •Создание многострочных строковых литералов
- •Компиляция кода
- •Поиск строки в массиве строк
- •Компиляция кода
- •Надежное программирование
- •Массивы и коллекции
- •Массивы
- •Одномерные массивы
- •Многомерные массивы
- •Массивы массивов
- •Использование оператора foreach
- •Массивы объектов
- •Инициализация массива
- •Компиляция кода
- •Надежное программирование
- •Передача массивов объектов в метод
- •Компиляция кода
- •Коллекции
- •Компиляция кода
- •Перечисления
- •Дополнительные способы перечисления
- •Отображение значений литералов перечисления
- •Установка значений по умолчанию
- •Обработка ошибок и исключений
- •Блоки finally
- •Перехват исключения
- •Компиляция кода
- •Общие сведения об основных понятиях платформы .Net Framework
- •Возможности среды clr
- •Библиотека классов платформы .Net Framework
Написание запросов linq
Основная
структура выражения запроса LINQ остается
неизменной независимо от источника
данных: набор данных ADO.NET, база данных
SQL, коллекции .NET Framework или XML-документы.
Выражение
запроса
начинается с предложения from,
за которым следуют другие выражения
запроса, такие как where,
orderby,
select
и так далее. В переменной запроса хранится
полное выражение запроса, который может
быть выполнен или изменен любое число
раз. Синтаксис выражения запроса похож
на синтаксис SQL. Например, можно написать
запрос LINQ, возвращающий всех студентов
в базе students
со специализацией science
,
используя следующий синтаксис:
IEnumerable<Student>
studentQuery =
from student in
studentApp.students
where student.Major ==
"Science"
select student;
LINQ to Objects
Термин LINQ to Objects относится к использованию LINQ для запроса коллекций данных в памяти, таких как классы в пространствах имен System.Collections и System.Collections.Generic. Эти классы включают ArrayList, List<T>, Dictionary<K,T> и так далее. Можно выполнять запросы к массивам, поскольку они неявно поддерживают универсальный интерфейс IEnumerable<T>.
Можно даже импортировать текстовый файл в перечислимую структуру и выполнять запросы с фильтрацией и сортировкой содержимого.
LINQ to SQL
Use LINQ to SQL to access SQL Server and SQL Server Express databases through a strongly-typed object layer that you create by using the O/R Designer.
You can use the O/R Designer to map LINQ to SQL classes to tables in a database and then write LINQ queries to bind data to controls in your application. For example, the following LINQ query binds the results of a LINQ query (all customers from the United States) to a binding source of a DataGridView control.
var CustomersQuery = from customers in northwindSampleDataContext1.Customers where customers.Country == "US" select customers; customerBindingSource.DataSource = CustomersQuery; |
Note: The O/R Designer currently does not support SQL Server Compact 3.5 databases. |
LINQ to DataSet
The DataSet is used to bind data to controls in an application. Rather than connecting directly to the database, the DataSet enables an application to use off-line (cached) data, or subsets of several data sources. When the application is brought online, the changes in the DataSet can be updated in the database.
LINQ to Dataset makes querying over cached data faster and easier than the filtering and sorting methods available to a DataSet.
LINQ to XML
LINQ to XML enables you to create and modify XML documents easily by using LINQ query expressions instead of XPath or XQuery. LINQ to XML is a new in-memory XML programming API that uses modern programming constructs instead of the W3C Document Object Model (DOM).
LINQ to SQL
Используйте LINQ to SQL для доступа к базам данных SQL Server и SQL Server Express через строго типизированный объектный слой, создаваемый с помощью Объектно-реляционного конструктора.
Можно использовать Объектно-реляционный конструктор для сопоставления классов LINQ to SQL таблицам в базе данных и затем создавать запросы LINQ для привязки данных к элементам управления в приложении. Например, следующий запрос LINQ связывает результаты запроса LINQ (все клиенты из США) с источником привязки элементом управления DataGridView.
var CustomersQuery = from customers in northwindSampleDataContext1.Customers where customers.Country == "US" select customers; customerBindingSource.DataSource = CustomersQuery; |
Примечание. Объектно-реляционный конструктор в данный момент не поддерживает базы данных SQL Server Compact 3.5. |
LINQ to DataSet
DataSet используется для привязки данных к элементам управления в приложении. Вместо непосредственного подключения к базе данных можно использовать DataSet для создания автономного кэша данных или подмножества нескольких источников данных. Когда приложение переводится в интерактивный режим, изменения в DataSet будут сделаны в базе данных.
LINQ to Dataset выполняет запросы кэшированных данных быстрее и легче, чем методы фильтрации и сортировки, доступные для DataSet.
LINQ to XML
LINQ to XML позволяет легко создавать и изменять XML-документы с помощью выражений запросов LINQ вместо использования XPath и XQuery. LINQ to XML является новым программным API для XML в памяти, использующим современные конструкции программирования вместо W3C Document Object Model (DOM).
C# Language Primer
Inside a C# Program
In order to understand how a C# program works, let's examine the traditional "Hello World!" program, dealing with each line of C# code in turn.
Hello World, C# Style
The C# language uses classes to organize and package code. In fact, all executable C# code must be contained in a class, even in a short program like "Hello World!" Here is the complete program that displays "Hello World!" in the console window.
using System; // A "Hello World!" program in C# namespace HelloWorld { class Hello { static void Main() { System.Console.WriteLine("Hello World!"); } } } |