
- •Язык c# и структура простой программы
- •Что такое .Net Framework
- •Что такое с#
- •Создание первой программы на с#
- •Пространство имен System
- •С# как язык Объектно-Ориентированного Программирования (ооп)
- •Состав и назначение файлов проекта
- •Структура сборки
- •Элементы языка c#
- •Базовый синтаксис с#
- •Переменные
- •Числа без знака
- •Числа со знаком
- •Числа для финансистов
- •Текстовые символы
- •Логический тип данных
- •Литералы с плавающей точкой
- •Символьные литералы
- •Строковые литералы
- •Выражения и операторы с#
- •Инициализация переменных и оператор присваивания
- •Значение в левой части
- •Ввод данных с консоли
- •Математические операторы
- •Вычисление остатка при целочисленном делении
- •Унарные операторы
- •Унарное логическое отрицание
- •Составные операторы
- •Поразрядные операторы
- •Поразрядное логическое и
- •Поразрядное логическое или
- •Поразрядное логическое исключающее или
- •Унарная поразрядная операция дополнения
- •Поразрядный сдвиг
- •Пример использования поразрядных операторов
- •Логические операторы
- •Операторы отношения
- •Приоритеты операторов
- •Исполнители алгоритмов
- •Исполнитель Чертежник
- •Исполнитель Робот
- •Компьютер как формальный исполнитель алгоритмов
- •Блок-схема
- •Псевдокод
- •Необходимые свойства алгоритма
- •Понятие о временной сложности алгоритма
- •Примеры
- •Правила для определения сложности
- •Тернарный условный оператор
- •Применение логических операций
- •Конструкция выбора
- •Примеры применения оператора выбора
- •Объединение меток case
- •Пропущенный break
- •Пример программы: Простые числа
- •Пример обработки одномерного массива чисел
- •Использование генератора случайных данных
- •Использование оператора foreach
- •Типы задач обработки одномерных числовых массивов
- •Поиск элемента в массиве
- •Многомерные массивы
- •Базовые операции со строками
- •Методы типа string
- •Копирование и клонирование строк
- •Конкатенация строк
- •Извлечение подстроки
- •Вставка подстроки
- •Замена символов и строк
- •Удаление символов из строки
- •Удаление незначащих пробелов
- •Преобразование к верхнему и нижнему регистру
- •Выравнивание по левому и правому краю поля
- •Объединение массива строк
- •Разбор строки
- •Сравнение строк
- •Форматирование текстовых строк
- •Функции
- •Описание и использование функций
- •Возвращаемые значения
- •Передача параметров
- •Выходные параметры
- •Область действия переменных
- •Область действия переменных и управляющие конструкции
- •Рекурсия
- •Параметры функции Main()
- •Перегрузка функций
- •Перечислимый тип
- •Определение перечислимых типов
- •Структуры
- •Описание структур
- •Использование структур в качестве параметров функций
- •Использование структур в качестве возвращаемых значений функций
- •Функции структур
- •Файлы и потоки
- •Основные классы ввода и вывода
- •Классы для работы с потоками
- •Классы для работы с потоками текстовых символов
- •Работа с текстовыми файлами
Элементы языка c#
Возможно, наиболее фундаментальное определение компьютерной программы — "последовательность операций над данными". Это утверждение оказывается справедливым как для простых программ типа «Калькулятор», так и для более сложных случаев, таких, например, как приложения типа Microsoft Office.
В первом случае (когда вы используете приложение-калькулятор), вы вводите данные, представленные в форме чисел, и выполняете над этими числами различные операции почти так же, как с помощью карандаша и бумаги, только намного быстрее. Во втором случае обрабатываемые данные имеют гораздо более сложную структуру (текст с форматированием, электронная таблица и т.п.), но смысл работы программы практически такой же: введенные данные изменяются в соответствии с действиями пользователя, результат сохраняется на диск или выводится на печать.
Итак, если фундаментальное свойство компьютерных программ заключается в выполнении операций над данными, то это предполагает наличие, во-первых, некоторого способа хранения данных и, во-вторых, определенных методов для их обработки (т.е. изменения). Для обеспечения этих функций в языках программирования используются переменные, операции и выражения, и с их рассмотрения начинается изучение языка.
Вначале, однако, нам придется рассмотреть базовый синтаксис, используемый при программировании на С#.
Базовый синтаксис с#
Код на С# представляет собой последовательность операторов, каждый из которых оканчивается точкой с запятой. Поскольку пустое пространство игнорируется, то можно располагать по несколько операторов в одной строке; однако для того чтобы сделать программу более наглядной, принято размещать символ возврата каретки (т.е. переход на новую строку) после каждой точки с запятой, в результате чего на строке располагается только один оператор. Хотя абсолютно приемлемо (и совершенно нормально) использовать операторы, которые занимают несколько строк кода.
С# — язык, обладающий блочной структурой; другими словами, каждый оператор является частью некоторого блока кода. Эти блоки, для обозначения начала и конца которых используются фигурные скобки { и }, могут содержать произвольное количество операторов или не содержать их вовсе. Обратите внимание, что фигурные скобки не сопровождаются точками с запятой.
При записи программного кода обычно используются отступы, чтобы сделать запись на С# более наглядной. Это обычная практика; в действительности VS автоматически делает такие отступы по умолчанию. Каждый блок кода имеет свою величину отступов, определяющую, насколько далеко вправо он сдвинут. Блоки могут быть вложены друг в друга (т. е. блоки могут содержать в себе другие блоки), и в таком случае величина отступа у вложенных блоков должна быть больше:
Воспроизведем структуру Вашей первой программы в том виде, как она создается мастером консольных приложений Visual Studio:
using System;
namespace ConsoleApplication_1
{
/// <summary>
/// Summary description for Class_1.
/// </summary>
class Class_1
{
//
// TODO: Add code to start application here
// static void Main(string[] args)
public static void Main(string[] args)
{
Console.WriteLine("Первая программа на C#");
}
}
}
Здесь мы видим еще один элемент, который может часто встречаться в коде на С# – это комментарии. Строго говоря, комментарии не являются частью кода на С#. Предназначение комментариев в точности соответствует их названию: они позволяют включать в программу описательный текст на обычном языке (в том числе и русском), который просто игнорируется компилятором.
В С# предусмотрены два способа включения комментариев. Можно использовать специальные маркеры, обозначающие начало и завершение комментария, либо маркер, который означает, что "все, что находится за ним до конца строки, является комментарием" (этот способ появился в языке С).
Для того чтобы воспользоваться этим способом, нужно использовать сочетания символов /* в начале комментария и */ в конце комментария. Они могут располагаться как на одной строке, так и на разных строках; в последнем случае все строки, находящиеся между ними, также являются частью комментария. Единственное, что не может входить в состав комментария, — это сочетание символов */, поскольку оно будет интерпретировано как конец комментария.
Более современный подход к оформлению комментария состоит в использовании в качестве его начала символов //. В следующем за ними комментарии мы можем написать все, что угодно... но не более одной строки! Данный пример является правильным:
// Такое оформление комментариев использует Visual Studio
В С# существует еще и третий тип комментариев, который позволяет создавать документацию для программы. Этот комментарий также расположен на одной строке, но в отличие от последнего случая начинается с трех символов /, а не с двух:
/// Это особый вид комментария
В обычных условиях эти комментарии игнорируются компилятором, как и все остальные, однако можно настроить Visual Studio таким образом, что текст этих комментариев можно будет использовать для создания документации по проекту.
Чрезвычайно важным моментом, который необходимо учитывать при работе с С#, является чувствительность этого языка к регистру. В отличие от некоторых других языков программирования, на С# текст необходимо вводить, в точности соблюдая регистр, поскольку простая замена заглавной буквы на строчную приведет к прекращению компиляции проекта.