- •Введение в язык c# и .Net Framework
- •Язык c#
- •Архитектура платформы .Net Framework
- •Creating Your First c# Application
- •To create a c# application
- •Создание первого приложенияC#
- •Создание приложения c#
- •To create a c# console application
- •Создание консольного приложения c#
- •To create a c# Windows application
- •Создание приложений Windows Forms на c#
- •Introduction to Windows Presentation Foundation
- •To create a wpf application
- •Создание приложения wpf c#
- •To create event handlers
- •Создание обработчиков событий
- •Designing a User Interface in Visual c#
- •Adding Controls
- •Создание пользовательского интерфейса в Visual c#
- •Добавление элементов управления
- •Setting Properties
- •Handling Events
- •Задание свойств
- •Обработка событий
- •How to: Use Button Controls
- •Использование элемента управления "Button"
- •To use buttons in a program
- •Использование кнопок в программе
- •How to: Call a Button's Click Event Programmatically
- •To use buttons in a program
- •Программный вызов события нажатия кнопки
- •Использование кнопок в программе
- •How to: Create a Group of Radio Buttons from a String Array
- •Compiling the Code
- •Example
- •Создание группы переключателей из массива строк
- •Создание непрямоугольной кнопки
- •Компиляция кода
- •How to: Display Text on a Windows Form
- •To display text in a label
- •Отображение текста в форме Windows Forms
- •Отображение текста в надписи
- •How to: Use TextBox Controls to Get User Input
- •Использование элемента управления "TextBox" для получения вводимых данных
- •To retrieve input typed in a text box
- •Извлечение введенных в текстовое поле данных
- •How to: Convert the Text in a TextBox Control to an Integer
- •Диалоговые окна Извлечение данных из диалогового окна
- •To create the main form of your application
- •To create a dialog box
- •Создание основной формы приложения
- •Создание диалогового окна
- •Retrieving Data from a Dialog Box
- •To retrieve data from a dialog box.
- •Извлечение данных из диалогового окна
- •How to: Browse a Folder
- •To display the folder browser dialog box
- •Просмотр папки
- •Отображение диалогового окна обозревателя папок
- •How to: Save a File to a Folder
- •To display the folder browser dialog box
- •Сохранение файла в папку
- •Отображение диалогового окна обозревателя папок
- •How to: Display a List of Fonts
- •To display the font dialog box
- •Отображение списка шрифтов
- •Отображение диалогового окна выбора шрифта
- •How to: Display an OpenFileDialog Dynamically
- •Отображение цветовой палитры
- •Отображение диалогового окно выбора цвета
- •ListBox and ComboBox Controls
- •Compiling the Code
- •Отображение даты и времени в приложении
- •Отображение даты с помощью элемента управления "MonthCalendar"
- •To display the time by using a DateTimePicker control
- •Отображение времени с помощью элемента управления "DateTimePicker"
- •How to: Determine the Span Between Two Dates
- •Создание настраиваемого пользовательского интерфейса
- •Добавление панелей инструментов в приложение Windows Forms
- •To add a set of standard toolbar button
- •Добавление набора стандартных кнопок панели инструментов
- •How to: Create a Tooltip for a Control
- •Compiling the Code
- •Compiling the Code
- •Добавление элементов управления Windows Forms во время выполнения
- •Компиляция кода15
- •Accessing and Displaying Data
- •How to: Write Class Data to an xml File
- •Example
- •Compiling the Code
- •Compiling the Code
- •Robust Programming
- •Чтение xml из файла
- •Пример18
- •Компиляция кода
- •Надежное программирование
- •How to: Read Class Data from an xml File
- •Example
- •Compiling the Code
- •Robust Programming
- •Чтение данных класса из xml-файла
- •Пример19
- •Компиляция кода
- •Compiling the Code
- •Компиляция кода
- •Compiling the Code
- •Robust Programming
- •Рисование кривой в форме
- •Компиляция кода
- •Надежное программирование
- •How to: Draw Outlined Shapes
- •Example
- •Compiling the Code
- •Robust Programming
- •Рисование контурных фигур
- •Пример23
- •Компиляция кода
- •Добавление файлов мультимедиа в приложение
- •Внедрение проигрывателя Windows Media в форму
- •Добавление элемента управления "Windows Media Player" в панель элементов.
- •To add the Windows Media Player control to a Windows Form
- •Добавление элемента управления "Windows Media Player" в форму Windows Forms
- •How to: Play Sounds in an Application
- •To play an audio file
- •Воспроизведение звука в приложении
- •Воспроизведение аудиофайла
- •Creating and Using Bitmaps and Icons
- •How to: Create a Bitmap at Run Time
- •Example
- •Создание и использование точечных рисунков и значков
- •Создание точечного рисунка во время выполнения
- •Compiling the Code
- •Compiling the Code
- •Создание приложений wpf
- •Создание пользовательского интерфейса для приложения wpf
- •To create a wpf application
- •Создание приложения wpf
- •Adding Controls to the wpf Window You can add controls to the wpf window by dragging them from the Toolbox. To add a control to the wpf window
- •Добавление элементов управления в окно wpf
- •Добавление элемента управления в окно wpf
- •Common wpf Controls
- •Procedure To add a control to the wpf window
- •Стандартные элементы управления wpf
- •Процедура Добавление элемента управления в окно wpf
- •Standard wpf Controls
- •Стандартные элементы управления wpf
- •How to: Create Event Handlers for wpf Controls
- •To create an event handler for a button
- •Создание обработчиков событий для элементов управления wpf
- •Создание обработчика событий для кнопки
- •Connecting to Data
- •How to: Connect to a Database
- •To add a connection to the Northwind database
- •Подключение к данным
- •Подключение к базе данных
- •Добавление подключения к базе данных "Northwind"
- •How to: Display Related Data on a Form
- •To display related data on a form
- •Отображение связанных данных в форме
- •Отображение связанных данных в форме
- •Using linq in c# Express
- •Advantages of Using linq
- •Использование linq в c# Express
- •Преимущества использования linq
- •C# Language Enhancements that Support linq
- •Расширения языка c# для поддержки linq
- •Writing linq Queries
- •Linq to Objects
- •Написание запросов linq
- •Linq to Objects
- •Linq to sql
- •Linq to DataSet
- •Linq to xml
- •Linq to sql
- •Linq to DataSet
- •ЯзыкC# для начинающих Структура программы c#
- •"Hello World" в стиле c#
- •Using Directives and Namespaces
- •Comments
- •Директивыusingи пространства имен
- •Комментарий
- •Classes
- •Console Input and Output
- •Консольный ввод и вывод
- •Program Structure and Flow of Execution
- •Windows Forms Applications
- •Структура программы и ход выполнения
- •Приложения Windows Forms36
- •Console Applications
- •Namespaces
- •Консольные приложения
- •Пространства имен
- •Namespace Shortcuts
- •Creating Your Own Namespace
- •Ускоренный доступ к содержимому пространства имен
- •Создание собственного пространства имен
- •Example
- •Classes
- •Classes vs. Objects
- •Классы и объекты
- •Static vs. Instance Members
- •Classes vs. Files
- •Члены экземпляра и статические члены37
- •Классы и файлы
- •Encapsulation
- •Инкапсуляция
- •Inheritance
- •Polymorphism
- •Наследование
- •Полиморфизм
- •Constructors
- •Конструкторы
- •Operator Overloading
- •Compiling the Code
- •Имитация параметров по умолчанию
- •Компиляция кода
- •Переменные и константы
- •Constants
- •Built-in Data Types
- •Константы
- •Встроенные типы данных
- •Using Built-in Data Types
- •Типы значений и ссылочные типы
- •Boxing and Unboxing
- •Упаковка и распаковка
- •Performance issues
- •Проблемы производительности
- •Operators
- •Decisions and Branching
- •Remarks
- •Выбор и ветвление
- •Foreach Loops
- •Циклы foreach
- •For Loops
- •Working with Strings
- •Доступ к отдельным знакам
- •Changing Case
- •Смена регистра
- •Comparisons
- •Сравнения
- •Splitting a String into Substrings
- •Разделение строки на подстроки
- •Using StringBuilder
- •Использование класса StringBuilder
- •How to: Generate Multiline String Literals
- •Массивы и коллекции
- •Массивы
- •Одномерные массивы
- •Multidimensional Arrays
- •Jagged Arrays
- •Многомерные массивы
- •Массивы массивов
- •Using the foreach Statement
- •Использование оператора foreach
- •Arrays of Objects
- •Массивы объектов
- •How to: Declare an Array
- •Compiling the Code
- •Robust Programming
- •Инициализация массива
- •Компиляция кода
- •Коллекции
- •How to: Iterate Through an Array
- •Compiling the Code
- •Компиляция кода
- •Enumerations
- •Перечисления
- •More Advanced Enumeration Techniques
- •Try and Catch
- •Обработка ошибок и исключений
- •Try и Catch
- •Finally Blocks
- •Using Exception Handling
- •You can also cause your own exceptions using the throw keyword.
- •Блоки finally
- •How to: Catch an Exception
- •Example
- •Compiling the Code
- •Перехват исключения
- •Компиляция кода
- •.Net Framework Conceptual Overview
- •Общие сведения об основных понятиях платформы .Net Framework
- •Features of the Common Language Runtime
- •Возможности среды clr
- •.Net Framework Class Library
- •Библиотека классов платформы .Net Framework
`
Оглавление
Введение в язык C# и .NET Framework 6
Язык C# 6
Архитектура платформы .NET Framework 6
Creating Your First C# Application 8
To create a C# application 8
Создание первого приложения C# 8
Создание приложения C# 8
To create a C# console application 9
Создание консольного приложения C# 9
To create a C# Windows application 15
Создание приложений Windows Forms на C# 15
Introduction to Windows Presentation Foundation 25
To create a WPF application 26
Создание приложения WPF C# 26
To create event handlers 30
Создание обработчиков событий 30
30
Designing a User Interface in Visual C# 31
Adding Controls 31
Создание пользовательского интерфейса в Visual C# 31
Добавление элементов управления 31
Setting Properties 33
Handling Events 33
Задание свойств 33
Обработка событий 33
How to: Use Button Controls 34
Использование элемента управления "Button" 34
To use buttons in a program 35
Использование кнопок в программе 35
How to: Call a Button's Click Event Programmatically 36
To use buttons in a program 36
Программный вызов события нажатия кнопки 36
Использование кнопок в программе 36
How to: Create a Group of Radio Buttons from a String Array 37
Создание группы переключателей из массива строк 37
How to: Create a Non-Rectangular Button 38
How to: Display Text on a Windows Form 39
To display text in a label 39
Отображение текста в форме Windows Forms 39
Отображение текста в надписи 39
How to: Use TextBox Controls to Get User Input 40
Использование элемента управления "TextBox" для получения вводимых данных 40
To retrieve input typed in a text box 41
Извлечение введенных в текстовое поле данных 41
How to: Convert the Text in a TextBox Control to an Integer 42
Преобразование текста в элементе управления "TextBox" в целое число 42
How to: Set the Selected Text in a TextBox Control 43
Установка выделения текста в элементе управления "TextBox" 43
How to: Format Characters in a RichTextBox Control 44
Форматирование знаков в элементе управления "RichTextBox" 44
How to: Load Text into a RichTextBox Control 45
Загрузка текста в элемент управления "RichTextBox" 45
Dialog Boxes 46
How to: Retrieve Data from a Dialog Box 46
Диалоговые окна 46
Извлечение данных из диалогового окна 46
To retrieve data from a dialog box. 48
How to: Browse a Folder 50
Просмотр папки 50
How to: Save a File to a Folder 51
To display the folder browser dialog box 51
Сохранение файла в папку 51
How to: Display a List of Fonts 52
Отображение списка шрифтов 52
How to: Display an OpenFileDialog Dynamically 54
Динамическое отображение компонента OpenFileDialog 54
ListBox and ComboBox Controls 56
ListBox и ComboBox 56
Date and Time Controls 60
How to: Select a Range of Dates in a Calendar Control 60
Отображение даты и времени 61
Выбор диапазона дат в элементе управления "Calendar" 61
Извлечение даты в элементе управления "DateTimePicker" 62
How to: Display the Time in a Label 63
Отображение времени в надписи 63
How to: Display the Date and Time in Your Application 64
Отображение даты и времени в приложении 64
How to: Determine the Span Between Two Dates 66
Определение интервала между двумя датами 66
TreeView Controls 67
How to: Add Nodes to a TreeView Control 67
How to: Add Nested Nodes to a TreeView Control 67
Элементы управления "TreeView" 67
Добавление узлов к элементу управления "TreeView" 67
Добавление вложенных узлов в элемент управления "TreeView" 67
Добавление узла в выбранный узел элемента управления "TreeView" 68
Creating a Custom UI 69
How to: Add Toolbars to a Windows Forms Application 69
Создание настраиваемого пользовательского интерфейса 69
Добавление панелей инструментов в приложение Windows Forms 69
To add a set of standard toolbar button 70
How to: Create a Tooltip for a Control 71
Создание всплывающей подсказки для элемента управления 71
How to: Create a Shortcut Menu and Attach it to a Control 72
Создание контекстного меню и присоединение его к элементу управления 72
How to: Add Windows Forms Controls at Run Time 73
Добавление элементов управления Windows Forms во время выполнения 73
Accessing and Displaying Data 74
How to: Write Class Data to an XML File 74
Доступ к данным и их отображение 74
Запись данных класса в XML-файл 74
How to: Read XML from a File 75
Чтение XML из файла 75
How to: Read Class Data from an XML File 76
Чтение данных класса из XML-файла 76
Drawing Text and Graphics 77
How to: Draw Text on a Form 77
Рисование текста и графики 77
Отрисовка текста в форме 77
Изменение цвета текста в элементе управления Windows Forms 78
Изображение графических объектов в форме Windows Forms 79
How to: Draw a Curve on a Form 80
Рисование кривой в форме 80
How to: Draw Outlined Shapes 81
Рисование контурных фигур 81
How to: Draw a Line on a Form 82
Рисование линии в форме 82
How to: Draw a Filled Rectangle on a Form 83
Рисование заполненного прямоугольника в форме 83
How to: Draw a Filled Ellipse on a Form 84
Рисование заполненного эллипса в форме 84
Adding Multimedia to an Application 85
How to: Embed Windows Media Player on a Form 85
Добавление файлов мультимедиа в приложение 85
Внедрение проигрывателя Windows Media в форму 85
How to: Play Sounds in an Application 87
To play an audio file 87
Воспроизведение звука в приложении 87
Creating and Using Bitmaps and Icons 88
How to: Create a Bitmap at Run Time 88
Создание и использование точечных рисунков и значков 88
Создание точечного рисунка во время выполнения 88
How to: Convert Images from One Format to Another 91
Преобразование изображений из одного формата в другой 91
Customizing, Displaying, and Printing Windows Forms 92
How to: Change the Background Color of a Form 92
How to: Create a Shaped Form 92
Настройка, отображение и печать Windows Forms 92
Изменение цвета фона формы 92
Создание сложной формы 92
How to: Get a Value from Another Form 93
Получение значения из другой формы 93
How to: Display One Form from Another 94
Отображение одной формы из другой 94
Creating WPF Applications 95
Designing a User Interface for a WPF Application 95
Создание приложений WPF 95
Создание пользовательского интерфейса для приложения WPF 95
To create a WPF application 96
Common WPF Controls 99
Стандартные элементы управления WPF 99
How to: Create Event Handlers for WPF Controls 103
Создание обработчиков событий для элементов управления WPF 103
Connecting to Data 104
How to: Connect to a Database 104
To add a connection to the Northwind database 104
Подключение к данным 104
Подключение к базе данных 104
Добавление подключения к базе данных "Northwind" 104
How to: Display Related Data on a Form 106
To display related data on a form 106
Отображение связанных данных в форме 106
Отображение связанных данных в форме 106
Using LINQ in C# Express 107
Advantages of Using LINQ 107
Использование LINQ в C# Express 107
Преимущества использования LINQ 107
C# Language Enhancements that Support LINQ 108
Расширения языка C# для поддержки LINQ 108
Writing LINQ Queries 109
LINQ to Objects 109
Написание запросов LINQ 109
C# Language Primer 111
Inside a C# Program 111
Hello World, C# Style 111
Язык C# для начинающих 111
Структура программы C# 111
"Hello World" в стиле C# 111
111
using Directives and Namespaces 112
Comments 112
Директивы using и пространства имен 112
Комментарий 112
Classes 113
Main() 113
Классы 113
Main() 113
Console Input and Output 114
Консольный ввод и вывод 114
Program Structure and Flow of Execution 115
Windows Forms Applications 115
Структура программы и ход выполнения 115
Приложения Windows Forms 115
Console Applications 116
Namespaces 116
Консольные приложения 116
Пространства имен 116
Namespace Shortcuts 117
Creating Your Own Namespace 117
Ускоренный доступ к содержимому пространства имен 117
Создание собственного пространства имен 117
Classes 119
Classes vs. Objects 119
Классы 119
Классы и объекты 119
Static vs. Instance Members 120
Classes vs. Files 120
Члены экземпляра и статические члены 120
Классы и файлы 120
Encapsulation 121
Инкапсуляция 121
Inheritance 122
Polymorphism 122
Наследование 122
Полиморфизм 122
Constructors 123
Конструкторы 123
Operator Overloading 124
Destructors 124
Перегрузка методов 124
Деструкторы 124
How to: Call a Method on an Object 125
Вызов метода в объекте 125
How to: Inherit From a Class 126
Наследование от класса 126
How to: Simulate Default Parameters 127
Имитация параметров по умолчанию 127
How to: Declare a Property 128
Объявление свойства 128
How to: Set a Property on an Object 129
Задание свойства объекта 129
Structs 130
Example 130
Output 130
Структуры 130
Пример 130
Результат 130
Variables and Constants 131
Переменные и константы 131
Constants 132
Built-in Data Types 132
Константы 132
Встроенные типы данных 132
Value and Reference Types 135
Типы значений и ссылочные типы 135
Operators 138
Assignment and Equality Operators 138
Операторы 138
Операторы равенства и назначения 138
138
Mathematical and Logical Operators 139
Логические и математические операторы 139
139
Increment and Decrement operators 140
Операторы увеличения и уменьшения 140
140
Relational operators 141
Реляционные операторы 141
141
Logical Condition Operators 142
More Advanced Math Operators 142
Логические условные операторы 142
Несколько дополнительных математических операторов 142
Operator Overloading 143
Перегрузка операторов 143
144
Decisions and Branching 145
Remarks 145
Выбор и ветвление 145
Loops 147
foreach Loops 147
Циклы 147
Циклы foreach 147
for Loops 148
while Loops 148
Циклы for 148
Циклы while 148
do-while Loops 149
How to: Break Out of an Iterative Statement 149
Циклы do-while 149
Прерывание итерационного оператора 149
Strings 150
Строки 150
Working with Strings 151
151
Работа со строками 151
Using StringBuilder 159
Использование класса StringBuilder 159
159
How to: Generate Multiline String Literals 160
Создание многострочных строковых литералов 160
How to: Search for a String in an Array of Strings 161
Поиск строки в массиве строк 161
How to: Search Within a String 162
Поиск в строке 162
Arrays and Collections 163
Arrays 163
Массивы и коллекции 163
Массивы 163
How to: Declare an Array 167
Объявление массива 167
How to: Initialize an Array 168
Инициализация массива 168
How to: Pass Object Arrays to Methods 169
Передача массивов объектов в метод 169
Collections 170
170
Коллекции 170
How to: Iterate Through an Array 171
How to: Iterate Through a Collection 171
Итерация массива 171
Выполнение итерации коллекции 171
Enumerations 172
Перечисления 172
172
More Advanced Enumeration Techniques 173
Дополнительные способы перечисления 173
173
Errors and Exception Handling 174
Try and Catch 174
Обработка ошибок и исключений 174
Try и Catch 174
finally Blocks 175
Using Exception Handling 175
You can also cause your own exceptions using the throw keyword. 175
175
Блоки finally 175
How to: Catch an Exception 177
Перехват исключения 177
.NET Framework Conceptual Overview 178
Общие сведения об основных понятиях платформы .NET Framework 178
Features of the Common Language Runtime 180
Возможности среды CLR 180
.NET Framework Class Library 182
Библиотека классов платформы .NET Framework 182
Введение в язык c# и .Net Framework
C# — элегантный, строго типизированный объектно-ориентированный язык, предназначенный для разработки разнообразных безопасных и мощных приложений, выполняемых в среде .NET Frameworki. На языке C# можно разрабатывать обычные клиентские приложения Windows, веб-службы XML, распределенные компоненты, приложения типа “сервер-клиент”, приложения баз данных и многие-многие другие. В Visual C# 2008 имеется расширенный редактор кода, конструкторы с удобным пользовательским интерфейсом, встроенный отладчик и многие другие средства, призванные упростить разработку приложений на языке C# версии 3.0 и .NET Framework версии 3.5.
Примечание. |
При чтении документации Visual C# подразумевается, что пользователь обладает знаниями об основных принципах программирования. Абсолютным новичкам можно посоветовать версию Visual C#, экспресс-выпуск, которая доступна в Интернете. Для приобретения практических навыков программирования можно также воспользоваться преимуществами книг и ресурсов в Интернете, посвященных языку C#. |
Язык c#
Синтаксис C# очень выразителен, но прост в изучении. Все, кто знаком с языками C, C++ или Java с легкостью узнают синтаксис с фигурными скобками, характерный для языка C#. Разработчики, знающие любой из этих языков, как правило, смогут добиться эффективной работы с языком C# за очень короткое время. Синтаксис C# делает проще то, что было сложно в C++, и обеспечивает мощные возможности, такие как типы значений Nullable, перечисления, делегаты, лямбда-выражения и прямой доступ к памяти, чего нет в Java. C# поддерживает универсальные методы и типы, обеспечивая более высокий уровень безопасности и производительности, а также итераторы, позволяющие при реализации коллекций классов определять собственное поведение итерации, которое может легко использоваться в клиентском коде. В C# 3.0 выражения LINQ (Language-Integrated Query) делают строго-типизированный запрос первоклассной конструкцией языка.
Как объектно-ориентированный язык, C# поддерживает понятия инкапсуляции, наследования и полиморфизма. Все переменные и методы, включая метод Main – точку входа приложения – инкапсулируются в определения классов. Класс может наследовать непосредственно из одного родительного класса, но может реализовывать любое число интерфейсов. Для методов, которые переопределяют виртуальные методы в родительском классе, необходимо ключевое слово override, чтобы исключить случайное повторное определение. В языке C# структура похожа на облегченный класс: это тип, распределяемый в стеке, реализующий интерфейсы, но не поддерживающий наследование.
В дополнение к основным описанным объектно-ориентированным принципам, язык C# упрощает разработку компонентов программного обеспечения благодаря нескольким инновационным конструкциям языка, в число которых входят следующие:
Инкапсулированные подписи методов, называемые делегатами, которые поддерживают строго-типизированные уведомления о событиях.
Свойства, выступающие в роли методов доступа для закрытых переменных-членов.
Атрибуты с декларативными метаданными о типах во время выполнения.
Встроенные комментарии XML-документации.
LINQ (Language-Integrated Query), предлагающий встроенные возможности запросов в различных источниках данных.
Если потребуется обеспечить взаимодействие с другим программным обеспечением Windows, таким как объекты COM или собственные библиотеки DLL Win32, в языке C# можно использовать процесс, который называется "Interop." Процесс Interop позволяет программам на C# выполнять практически любые действия, которые может выполнять исходное приложение на C++. Язык C# поддерживает даже указатели и понятие "небезопасного" кода для тех случаев, когда прямой доступ к памяти имеет крайне важное значение.
Процесс построения C# по сравнению с C и C++ прост и является более гибким, чем в Java. Нет отдельных файлов заголовка, а методы и типы не требуется объявлять в определенном порядке. В исходном файле C# может быть определено любое число классов, структур, интерфейсов и событий.