
- •Язык c# и структура простой программы
- •Что такое .Net Framework
- •Что такое с#
- •Создание первой программы на с#
- •Пространство имен System
- •С# как язык Объектно-Ориентированного Программирования (ооп)
- •Состав и назначение файлов проекта
- •Структура сборки
- •Элементы языка c#
- •Базовый синтаксис с#
- •Переменные
- •Числа без знака
- •Числа со знаком
- •Числа для финансистов
- •Текстовые символы
- •Логический тип данных
- •Литералы с плавающей точкой
- •Символьные литералы
- •Строковые литералы
- •Выражения и операторы с#
- •Инициализация переменных и оператор присваивания
- •Значение в левой части
- •Ввод данных с консоли
- •Математические операторы
- •Вычисление остатка при целочисленном делении
- •Унарные операторы
- •Унарное логическое отрицание
- •Составные операторы
- •Поразрядные операторы
- •Поразрядное логическое и
- •Поразрядное логическое или
- •Поразрядное логическое исключающее или
- •Унарная поразрядная операция дополнения
- •Поразрядный сдвиг
- •Пример использования поразрядных операторов
- •Логические операторы
- •Операторы отношения
- •Приоритеты операторов
- •Исполнители алгоритмов
- •Исполнитель Чертежник
- •Исполнитель Робот
- •Компьютер как формальный исполнитель алгоритмов
- •Блок-схема
- •Псевдокод
- •Необходимые свойства алгоритма
- •Понятие о временной сложности алгоритма
- •Примеры
- •Правила для определения сложности
- •Тернарный условный оператор
- •Применение логических операций
- •Конструкция выбора
- •Примеры применения оператора выбора
- •Объединение меток case
- •Пропущенный break
- •Пример программы: Простые числа
- •Пример обработки одномерного массива чисел
- •Использование генератора случайных данных
- •Использование оператора foreach
- •Типы задач обработки одномерных числовых массивов
- •Поиск элемента в массиве
- •Многомерные массивы
- •Базовые операции со строками
- •Методы типа string
- •Копирование и клонирование строк
- •Конкатенация строк
- •Извлечение подстроки
- •Вставка подстроки
- •Замена символов и строк
- •Удаление символов из строки
- •Удаление незначащих пробелов
- •Преобразование к верхнему и нижнему регистру
- •Выравнивание по левому и правому краю поля
- •Объединение массива строк
- •Разбор строки
- •Сравнение строк
- •Форматирование текстовых строк
- •Функции
- •Описание и использование функций
- •Возвращаемые значения
- •Передача параметров
- •Выходные параметры
- •Область действия переменных
- •Область действия переменных и управляющие конструкции
- •Рекурсия
- •Параметры функции Main()
- •Перегрузка функций
- •Перечислимый тип
- •Определение перечислимых типов
- •Структуры
- •Описание структур
- •Использование структур в качестве параметров функций
- •Использование структур в качестве возвращаемых значений функций
- •Функции структур
- •Файлы и потоки
- •Основные классы ввода и вывода
- •Классы для работы с потоками
- •Классы для работы с потоками текстовых символов
- •Работа с текстовыми файлами
Разбор строки
Метод Split, определенный в классе String, позволяет выполнять разбор строк, содержащих ключевые слова, отделенные друг от друга символами-разделителями. По сути это задача, обратная той, что решается с помощью метода Join.
Рассмотрим программу, предназначенную для разбора строки запуска утилит с параметрами вида «имя_параметра=значение»:
using System;
namespace Split
{
class Program
{
static void Main(string[] args)
{
string str = "myprog.exe x=l,y=4,z=5";
string[] resArray = str.Split(new Char[] {',', ' '});
foreach(string res in resArray)
{
Console.WriteLine(res);
}
Console.ReadLine();
}
}
}
Исходная строка, подлежащая разбору, представлена ниже:
string str = "myprog.exe x=l,у=4,z=5";
Здесь мы объявили строку, предназначенную для запуска программы с именем myprog, в которой этой программе передаются 3 параметра с именами х, у, и z.
Разбор выполняется при помощи метода Split:
string[] resArray = str.Split(new Char[] {',', ' '});
В качестве первого параметра этому методу нужно передать ссылку на массив символов-разделителей. В качестве таких символов мы указали здесь запятую и пробел.
Метод Split разбирает строку, создавая массив из отдельных ключевых слов, обнаруженных в строке. При необходимости вы можете ограничить размер создаваемого массива, указав максимально допустимое значение верхней границы при помощи второго параметра метода Split.
После запуска описанной выше программы на консоли появится результат разбора строки:
Сравнение строк
Для сравнения строк, также как и для сравнения чисел, может использоваться оператор ==. Однако есть и еще одна возможность — использование метода Compare. Обе сравниваемые строки передаются этому методу в качестве параметров. Дополнительно методу Compare можно указывать, каким именно образом выполнять сравнение.
Если строки равны, метод Compare возвращает нулевое значение. Если первая строка меньше второй (используется лексикографическое сравнение), возвращается отрицательное значение, а если больше — положительное.
В программе, исходный текст которой приведен ниже, методу Compare передается 3 параметра. Первые два из них представляют собой ссылки на сравниваемые строки, а третий, имеющий значение true, указывает, что при сравнении не следует учитывать регистр букв.
using System;
namespace Compare
{
class Program
{
static void Main(string[] args)
{
for (;;)
{
Console.Write("введите строку: ");
string s = Console.ReadLine();
if(s == "exit")
{
Console.WriteLine("Совпадение по оператору ==");
break;
}
if (String.Compare(s, "exit", true) == 0)
{
Console.WriteLine("Совпадение по методу Compare");
break;
}
}
Console.WriteLine("Завершение работы");
Console.ReadLine();
}
}
}
Результаты работы этой программы приведены ниже. Обратите внимание, в каком случае срабатывает оператор сравнения, а в каком – метод Compare: