Похожие презентации:
Лекция 5
1. АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
12. Примеры
ПРИМЕР. Определить максимальную длину подпоследовательности изнулевых элементов
using System;
namespace SortM {
class Program {
static void Main() {
int n = Convert.ToInt32(Console.ReadLine());
int a; int l=0; int makc=0;
for (int i=0;i<n;i++)
{
a = Convert.ToInt32(Console.ReadLine());
if (a==0)
{
l++;
makc=Math.Max(l,makc);
}
else
{
l=0;
}
}
Console.WriteLine(makc); } }}
2
3. Примеры
ПРИМЕР. С ошибками!!!using System;
namespace SortM {
class Program {
static void Main() {
int n = Convert.ToInt32(Console.ReadLine());
int a;
int l=0;
int makc=0;
for (int i=0;i<n;i++)
{
a = Convert.ToInt32(Console.ReadLine());
if (a==0)
l++;
else
{
makc=Math.Max(l,makc);
l=0;
}
}
Console.WriteLine(makc);}}}
3
4. Примеры
ПРИМЕР. Исправлениеusing System;
namespace SortM {
class Program {
static void Main() {
int n = Convert.ToInt32(Console.ReadLine());
int a;
int l=0;
int makc=0;
for (int i=0;i<n;i++)
{
a = Convert.ToInt32(Console.ReadLine());
if (a==0)
l++;
else
{
makc=Math.Max(l,makc);
l=0;
}
}
makc=Math.Max(l,makc);
Console.WriteLine(makc);}}}
4
5. Примеры
ПРИМЕР. Определить минимальную длину подпоследовательности изнулевых элементов. ОШИБКИ
using System;
namespace SortM {
class Program {
static void Main() {
int n = Convert.ToInt32(Console.ReadLine());
int a; int l=0;
int mini=n+1;
for (int i=0;i<n;i++)
{
a = Convert.ToInt32(Console.ReadLine());
if (a==0)
l++;
else
{
mini=Math.Min(l,mini);
l=0;
}
}
mini=Math.Min(l,mini);
Console.WriteLine(mini);}}}
5
6. Примеры
ПРИМЕР. Определить минимальную длину подпоследовательности изнулевых элементов.
using System;
namespace SortM {
class Program {
static void Main() {
int n = Convert.ToInt32(Console.ReadLine());
int a; int l=0;
int mini=n+1;
for (int i=0;i<n;i++)
{
a = Convert.ToInt32(Console.ReadLine());
if (a==0)
l++;
else
{
if (l>0) mini=Math.Min(l,mini);
l=0;
}
}
if (l>0) mini=Math.Min(l,mini);
Console.WriteLine(mini);}}}
6
7.
МассивыВ C#, в силу того, что массив это объект, можно вызвать методы и
читать свойства этого объекта просто написав его имя и нажав точку.
Свойства массивов C#
8.
МассивыМетоды массивов в C#
9. Перечисления enum
Кроме примитивных типов данных в языке программирования C# естьтип enum или перечисление. Согласно принятой классификации типов
данных C# enum относится к типам значений.
Перечисление - это пользовательский тип данных, представляющий собой
набор именованных целочисленных констант.
enum имя_перечисления: целочисленный_тип
{
// значения перечисления
значение1,
значение2,
.......
значениеN
}
Первое идет ключевое слово enum, которое указывает на то, что тип
данных относится к перечислениям. Далее идет имя_перечисления — это
может быть любая строка допустимая для использования в именах переменных
C#. После названия через двоеточие указывается тип данных для констант в
перечислении.
В
фигурных
скобках
через
запятую
указываются
имена констант для перечисления.
9
10. Перечисления enum
Тип и значения констант перечисленияКонстанты перечисления могут иметь тип. Тип указывается после названия
перечисления через двоеточие. Тип перечисления обязательно должен
представлять целочисленный тип (byte, sbyte, short, ushort, int, uint, long,
ulong). Если тип явным образом не указан, то по умолчанию используется
тип int.
Тип влияет на значения, которые могут иметь константы. По умолчанию
каждому элементу перечисления присваивается целочисленное значение,
причем первый элемент будет иметь значение 0, второй - 1 и так далее.
using System;
class HelloWorld
{
enum Nomer : byte
{
l1,
l2,
l3,
l4
}
static void Main()
{
Nomer now = Nomer.l1;
Console.WriteLine((int)now); // 0
Console.WriteLine((int)Nomer.l4);
}
}
10
11. Перечисления enum
Несмотря на то, что каждая константа сопоставляется с определенным числом,нельзя присвоить ей числовое значение:
static void Main()
{
Nomer now = Nomer.l1;
now = 3;
Console.WriteLine((int)now);
Console.WriteLine((int)Nomer.l4);
}
Можно явным образом указать значения элементов, либо указав значение
первого элемента.
11
12. Перечисления enum
using System;class HelloWorld
{
enum Nomer : byte
{
l1=1,
l2,
l3,
l4
}
static void Main()
{
Nomer now = Nomer.l1;
Console.WriteLine(now);
Console.WriteLine((int)now);
Console.WriteLine((int)Nomer.l4);
}
}
12
13. Перечисления enum
using System;class HelloWorld
{
enum Nomer : byte
{
l1=1,
l2=4,
l3=0,
l4=9
}
static void Main()
{
Nomer now = Nomer.l1;
Console.WriteLine(now);
Console.WriteLine((int)now);
Console.WriteLine((int)Nomer.l2);
Console.WriteLine((int)Nomer.l3);
Console.WriteLine((int)Nomer.l4);
}
}
13
14. Перечисления enum
Каждое перечисление фактически определяет новый тип данных, спомощью которых можно определять переменные, константы, параметры
методов и т.д. В качестве значения переменной, константы и параметра метода,
которые представляют перечисление, должна выступать одна из констант этого
перечисления.
Пример перечисление, содержащее дни недели:
enum Days
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
14
15. Перечисления enum
По умолчанию связанные значения констант элементов перечисленияимеют тип int. Они начинаются с нуля и увеличиваются на единицу в
соответствии с порядком текста определения.
using System;
namespace EnumPr{
enum Days
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
15
16. Перечисления enum
class Program{static void Main(){
Console.WriteLine($"{nameof(Days.Monday)} = {(int)Days.Monday}");
Console.WriteLine($"{nameof(Days.Tuesday)} = {(int)Days.Tuesday}");
Console.WriteLine($"{nameof(Days.Wednesday)}
{(int)Days.Wednesday}");
Console.WriteLine($"{nameof(Days.Thursday)} = {(int)Days.Thursday}");
Console.WriteLine($"{nameof(Days.Friday)} = {(int)Days.Friday}");
Console.WriteLine($"{nameof(Days.Saturday)} = {(int)Days.Saturday}");
Console.WriteLine($"{nameof(Days.Sunday)} = {(int)Days.Sunday}");
}}}
16
=
17. Перечисления enum
Можно изменить значения констант как угодно (в рамкахиспользуемого для констант типа данных). Например, можно задать:
enum Days {
Monday = 5,
Tuesday = 7,
Wednesday = 10,
Thursday = 18,
Friday = 25,
Saturday = 48,
Sunday = 64
}
17
18. Перечисления enum
using System;namespace EnumPr{
enum Days
{
Monday = 5,
Tuesday = 7,
Wednesday = 10,
Thursday = 18,
Friday = 25,
Saturday = 48,
Sunday = 64
}
class Program{
static void Main(){
Console.WriteLine($"{nameof(Days.Monday)} = {(int)Days.Monday}");
Console.WriteLine($"{nameof(Days.Tuesday)} = {(int)Days.Tuesday}");
Console.WriteLine($"{nameof(Days.Wednesday)} = {(int)Days.Wednesday}");
Console.WriteLine($"{nameof(Days.Thursday)} = {(int)Days.Thursday}");
Console.WriteLine($"{nameof(Days.Friday)} = {(int)Days.Friday}");
Console.WriteLine($"{nameof(Days.Saturday)} = {(int)Days.Saturday}");
Console.WriteLine($"{nameof(Days.Sunday)} = {(int)Days.Sunday}");
18
}}}
19. Перечисления enum
Можно указать свой собственный тип данных для констант:enum Days : short
{
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 5,
Friday = 5,
Saturday = -1,
Sunday = -2
}
enum Days : byte
{
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 5,
Friday = 5,
Saturday = 10,
Sunday = -1
}
19
20. Перечисления enum
В перечислениях константы могут иметь одинаковые значения илииспользоваться для определения других констант:
enum Days : byte
{
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 5,
Friday = 5,
Saturday = 1,
Sunday = Saturday + 2
}
20
21. Перечисления enum
using System;class HelloWorld
{
enum DayTime
{
Morning,
Afternoon,
Evening,
Night
}
static void Main()
{
DayTime dayTime = DayTime.Morning;
if(dayTime == DayTime.Night)
Console.WriteLine("Доброе утро");
else
Console.WriteLine("Привет");
}
}
21
22. Перечисления enum
Пример: Использование перечисления для определения операции над двумячислами.
using System;
namespace EnumPr{
enum Operation
{
Add,
Subtract,
Multiply,
Divide
}
class Program{
static void Main(){
Console.WriteLine("Введите первое целое число:");
int num1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите второе целое число:");
int num2 = Convert.ToInt32(Console.ReadLine());
22
23. Перечисления enum
Пример:Console.WriteLine("0 - сложение");
Console.WriteLine("1 - вычитание");
Console.WriteLine("2 - умножение");
Console.WriteLine("3 - деление");
Operation operNum = (Operation)Convert.ToInt32(Console.ReadLine());
switch (operNum)
{
case Operation.Add:
{
Console.WriteLine($"{num1} + {num2} = {num1 + num2}");
break;
}
case Operation.Subtract:
{
Console.WriteLine($"{num1} - {num2} = {num1 - num2}");
break;
}
23
24. Перечисления enum
Пример:case Operation.Multiply:
{
Console.WriteLine($"{num1} * {num2} = {num1 * num2}");
break;
}
case Operation.Divide:
{
Console.WriteLine($"{num1} / {num2} = {(double)num1 / num2}");
break;
}}}}}
24
25. Перечисления enum
Рассмотрим следующую строку:Operation operNum = (Operation)Convert.ToInt32(Console.ReadLine());
1. из строки получаем число - Convert.ToInt32(Console.ReadLine()),
2. присваивается переменной operNum значение из перечисления Operation,
соответствующее этому числу:
Operation operNum = (Operation)[результат];
То же самое действие можно представить, используя промежуточную
переменную:
int op = Convert.ToInt32(Console.ReadLine());//получили число от 0 до 3
Operation operNum = (Operation)op; //получили значение из Operation
25
26. Перечисления enum
using System;class HelloWorld{
enum DayTime
{
Morning,
Afternoon,
Evening,
Night
}
static void Main() {
DayTime now = DayTime.Evening;
switch (now)
{
case DayTime.Morning:
Console.WriteLine("Доброе утро");
break;
case DayTime.Afternoon:
Console.WriteLine("Добрый день");
break;
case DayTime.Evening:
Console.WriteLine("Добрый вечер");
break;
case DayTime.Night:
Console.WriteLine("Доброй ночи");
break;
}
now=DayTime.Afternoon;
switch (now)
{
case DayTime.Morning:
Console.WriteLine("Доброе утро");
break;
case DayTime.Afternoon:
Console.WriteLine("Добрый день");
break;
case DayTime.Evening:
Console.WriteLine("Добрый вечер");
break;
case DayTime.Night:
Console.WriteLine("Доброй ночи");
break;
}
26
27. Перечисления enum
now=DayTime.Night;switch (now)
{
case DayTime.Morning:
Console.WriteLine("Доброе утро");
break;
case DayTime.Afternoon:
Console.WriteLine("Добрый день");
break;
case DayTime.Evening:
Console.WriteLine("Добрый вечер");
break;
case DayTime.Night:
Console.WriteLine("Доброй ночи");
break;
}}}
27
28. Работа со строками
В языке C# строковые значения представляет тип string. в C# строки являютсяобъектами. Следовательно, тип string от носится к числу ссылочных.
Работа с данным типом сосредоточена в классе System.String.
Объекты этого класса представляют текст как последовательность символов
Unicode.
Максимальный размер объекта String может составлять в памяти 2 ГБ, или
около 1 миллиарда символов.
Создание строк
Создавать строки можно используя переменную типа string и присваивая ей
значение или применяя один из конструкторов класса String.
using System;
class ForeachDemo {
static void Main() {
string s1 = "hello";
string s2 = new String('a', 6); // "aaaaaa"
string s3 = new String(new char[] { 'w', 'o', 'r', 'l', 'd' });
string s4 = new String(new char[] { 'w', 'o', 'r', 'l', 'd' }, 1, 3); // orl
Console.WriteLine(s1); // hello
Console.WriteLine(s2); // aaaaaaa
Console.WriteLine(s3); // world
Console.WriteLine(s4); // orl
28
}}
29. Работа со строками
using System;class StringDemo {
static void Main() {
char[] charray = {'Э', 't', 'o', ' ', 'с', 't', 'p', 'o', 'к', 'a'};
string strl = new string(charray);
string str2 = "Еще одна строка.";
Console.WriteLine(strl);
Console.WriteLine(str2);
}
}
29
30. Работа со строками
Так как строка хранит коллекцию символов, в ней определен индексатор длядоступа к этим символам. Применяя индексатор, можно обратиться к строке как
к массиву символов и получить по индексу любой из ее символов:
string m = "Привет";
char f = m [1]; // символ ‘р'
Console.WriteLine(f); //р
Console.WriteLine(m.Length); // длина строки
Перебор строк
Строку можно перебрать в цикле foreach как набор объектов char.
string m = "hello";
for(var i =0; i < m.Length; i++)
{
Console.WriteLine(m [i]);
}
foreach(var ch in m)
{
Console.WriteLine(ch);
}
30
31. Работа со строками
Строки сравниваются по значению их символов:using System;
class ForeachDemo {
static void Main() {
string m1 = "hello";
string m2 = "hello";
Console.WriteLine(m1 == m2);
}
}
31
32. Основные методы строк
Основные методы класса String :• Compare: сравнивает две строки CompareOrdinal: сравнивает две строки
без учета локали
• Contains: определяет, содержится ли подстрока в строке
• Concat: соединяет строки
• CopyTo: копирует часть строки, начиная с определенного индекса в массив
• EndsWith: определяет, совпадает ли конец строки с подстрокой
• Format: форматирует строку
• IndexOf: находит индекс первого вхождения символа или подстроки в строке
• Insert: вставляет в строку подстроку
• Join: соединяет элементы массива строк
• LastIndexOf: находит индекс последнего вхождения символа или подстроки в
строке
• Replace: замещает в строке символ или подстроку другим символом или
подстрокой
• Split: разделяет одну строку на массив строк
• Substring: извлекает из строки подстроку, начиная с указанной позиции
• ToLower: переводит все символы строки в нижний регистр
• ToUpper: переводит все символы строки в верхний регистр
• Trim: удаляет начальные и конечные пробелы из строки
32
33. Основные методы строк
int IndexOf(string value,StringComparison
comparisonType)
Осуществляет поиск в вызывающей строке первого
вхождения подстроки, определяемой аргументом value.
Возвращает индекс первого совпадения с искомой
подстрокой или -1, если она не обнаружена.
int LastIndexOf(char value)
Осуществляет поиск в вызывающей строке последнего
вхождения символа, определяемого аргументом value.
Применяется порядковый способ поиска. Возвращает
индекс последнего совпадения с искомым символом
или -1, если он не обнаружен
int LastIndexOf(string value,
StringComparison
comparisonType)
Осуществляет поиск в вызывающей строке последнего
вхождения подстроки, определяемой аргументом value.
Возвращает индекс последнего совпадения с искомой
подстрокой или -1, если она не обнаружена.
string
ToLower(CultureInfo.CurrentCultur
e culture)
Возвращает вариант вызывающей строки в нижнем
регистре. Способ преобразования определяется
аргументом culture
string
ToUpper(CultureInfo.CurrentCultur
e culture)
Возвращает вариант вызывающей строки в верхнем
регистре. Способ преобразования определяется
аргументом culture
33
34. Основные методы строк
Объединение строкМетод Concat
string s1 = "hello";
string s2 = "world";
string s3 = s1 + " " + s2; // результат: строка "hello world"
string s4 = string.Concat(s3, "!!!"); // результат: строка "hello world!!!"
Console.WriteLine(s4);
Метод Join:
string s5 = «Раз";
string s6 = «два";
string s7 = «три";
string s8 = «четыре";
string s9 = «пять";
string[] values = new string[] { s5, s6, s7, s8, s9 };
string s10 = string.Join(" ", values);
Console.WriteLine(s10); // Раз два три четыре пять
Метод Join получает два параметра: строку-разделитель (в данном случае
пробел) и массив строк, которые будут соединяться и разделяться
34
разделителем.
35. Основные методы строк
Метод Compare:Метод Compare принимает две строки и возвращает число. Если первая строка
по алфавиту стоит выше второй, то возвращается число меньше нуля. В
противном случае возвращается число больше нуля. И третий случай - если ст
роки равны, то возвращается число 0.
string s1 = "hello";
string s2 = "world";
int result = string.Compare(s1, s2);
if (result<0)
{
Console.WriteLine("Строка s1 перед строкой s2");
}
else if (result > 0)
{
Console.WriteLine("Строка s1 стоит после строки s2");
}
else
{
Console.WriteLine("Строки s1 и s2 идентичны");
}
35
36. Основные методы строк
Метод IndexOf индекс первого вхождения отдельного символа или подстроки встроке:
string s1 = "hello world";
char ch = 'o';
int indexOfChar = s1.IndexOf(ch); // равно 4
Console.WriteLine(indexOfChar);
string substring = "wor";
int indexOfSubstring = s1.IndexOf(substring); // равно 6
Console.WriteLine(indexOfSubstring);
Метод LastIndexOf, находит индекс последнего вхождения символа или
подстроки в строку:
string s1 = "hello world";
char ch = 'o';
int indexLastIndexOf = s1. LastIndexOf(ch); // равно 7
Console.WriteLine(ndexLastIndexOf);
string substring = "wor";
int indexOfSubstring = s1. LastIndexOf(substring); // равно 6
Console.WriteLine(indexOfSubstring);
36
37. Основные методы строк
Методы StartsWith и EndsWith позволяютзаканчивается строка на определенную подстроку.
узнать
начинается
или
var files = new string[]
{
"myapp.exe",
"forest.jpg",
"main.exe",
"book.pdf",
"river.png"
};
for (int i = 0; i < files.Length; i++)
{
if (files[i].EndsWith(".exe"))
Console.WriteLine(files[i]);
}
37
38. Основные методы строк
Разделение строкС помощью функции Split можно разделить строку на массив подстрок. В
качестве параметра функция Split принимает массив символов или строк.
1. Вариант: разбиение по пробелу
using System;
class StringArrays {
static void Main() {
string text = "И поэтому все так произошло";
string[] words = text.Split(new char[] { ' '});
foreach (string s in words)
Console.WriteLine(s);
}
}
2. Вариант: разделитель пробел и симво ‘э’
using System;
class StringArrays {
static void Main() {
string text = "И поэтому все так произошло";
string[] words = text.Split(new char[] { ' ', 'э'});
foreach (string s in words)
Console.WriteLine(s);
38
}}
39. Основные методы строк
Разделение строкИзбавление от пустых строк, состоящих из пробела
using System;
class StringArrays {
static void Main() {
string text = "И
поэтому
все так произошло";
string[] words = text.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in words)
Console.WriteLine(s);
}
}
Избавление от пустых строк, состоящих из пробела
и строк, состоящих из запятой.
using System;
class StringArrays {
static void Main() {
string text = "И ,,, поэ,,,,тому
все ,,,, так произошло";
string[] words = text.Split(new char[] {' ',','}, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in words)
Console.WriteLine(s);
39
}}
40. Основные методы строк
Обрезка строкиДля обрезки начальных или концевых символов используется функция Trim
string text = " hello world ";
text = text.Trim(); // результат "hello world"
text = text.Trim(new char[] { 'd', 'h' }); // результат "ello worl«
Функция Trim без параметров обрезает начальные и конечные пробелы и
возвращает обрезанную строку. Чтобы явным образом указать, какие начальные
и конечные символы следует обрезать, необходимо передать в функцию массив
этих символов.
using System;
class StringArrays {
static void Main() {
string text = " hello world ";
text = text.Trim();
Console.WriteLine(text);
text = "hello world";
text = text.Trim(new char[] { 'd', 'h'});
Console.WriteLine(text);
text = "hello world";
text = text.Trim(new char[] { 'l', 'w', 'o'});
Console.WriteLine(text);
text = "hello world";
text = text.Trim(new char[] { 'l', 'w', 'o', 'l', 'd', 'r'});
Console.WriteLine(text);
}}
40
41. Основные методы строк
Обрезка строкиЭта функция имеет частичные аналоги: функция TrimStart обрезает начальные
символы, а функция TrimEnd обрезает конечные символы.
using System;
class StringArrays {
static void Main() {
string text = "hello world";
text = text.TrimStart(new char[] { 'l', 'h', 'e'});
Console.WriteLine(text);
text = "hello world";
text = text.TrimEnd(new char[] { 'l', 'h', 'd'});
Console.WriteLine(text);
}
}
Обрезать определенную часть строки позволяет функция Substring:
string text = "Хороший день";
text = text.Substring(2);
Console.WriteLine(text); // результат "роший день"
text = text.Substring(0, text.Length - 2);
Console.WriteLine(text); // результат "роший де"
41
42. Основные методы строк
ВставкаДля вставки одной строки в другую применяется функция Insert
Первым параметром в функции Insert является индекс, по которому надо
вставлять подстроку, а второй параметр - собственно подстрока.
string text = "Хороший день";
string substring = "замечательный ";
text = text.Insert(8, substring);
Console.WriteLine(text); // Хороший замечательный день
Удаление строк
Метод Remove:
using System;
class StringArrays {
static void Main() {
string text = "Хороший день";
int ind = text.Length - 3;
text = text.Remove(ind,3);
Console.WriteLine(text);
text = text.Remove(0, 2);
Console.WriteLine(text);
}}
42
43. Основные методы строк
ЗаменаЧтобы заменить
метод Replace:
один
символ
или подстроку на
другую,
применяется
string text = "хороший день";
text = text.Replace("хороший", "плохой");
Console.WriteLine(text); // плохой день
text = text.Replace("плохой","хороший");
Console.WriteLine(text); // хороший день
text = text.Replace("о", "");
Console.WriteLine(text); // хрший день
43
44. Основные методы строк
Смена регистраДля приведения строки к верхнему и нижнему регистру используются
соответственно функции ToUpper() и ToLower():
string hello = "Hello world!";
Console.WriteLine(hello.ToLower()); // hello world!
Console.WriteLine(hello.ToUpper()); // HELLO WORLD!
44
45. Примеры
ПРИМЕР.using System;
using System.Globalization;
class StrOps {
static void Main() {
string str1 = "Программировать лучше всего на С#.";
string str2 = "Программировать лучше всего на С#.";
string str3 = "Строки в C# весьма эффективны.";
string strUp, strLow;
int result, idx;
Console.WriteLine("str1: " + str1);
Console.WriteLine("Длина строки str1: " + str1.Length);
// Создать варианты строки str1, набранные
// прописными и строчными буквами.
strLow = str1.ToLower(CultureInfo.CurrentCulture);
strUp = str1.ToUpper(CultureInfo.CurrentCulture);
Console.WriteLine("Вариант строки str1, набранный строчными буквами:\n " +
strLow);
Console.WriteLine("Вариант строки str1, набранный прописными буквами:\n " +
strUp);
Console.WriteLine();
45
46. Примеры
ПРИМЕР.// Вывести строку str1 посимвольно.
Console.WriteLine("Вывод строки str1 посимвольно.");
for (int i=0; i < str1.Length; i++)
Console.Write(str1[i]);
Console.WriteLine("\n");
// Сравнить строки способом порядкового сравнения.
if(str1 == str2)
Console.WriteLine("str1 == str2");
else
Console.WriteLine("str1 != str2");
if(str1 == str3)
Console.WriteLine("str1 == str3");
else
Console.WriteLine("str1 != str3");
// Сравнить строки с учетом культурной среды.
result = string.Compare(str3, str1, StringComparison.CurrentCulture);
if(result == 0)
Console.WriteLine("Строки str1 и str3 равны");
else if (result < 0)
Console.WriteLine("Строка str1 меньше строки str3");
else
Console.WriteLine("Строка str1 больше строки str3");
Console.WriteLine();
46
47. Примеры
ПРИМЕР.// Присвоить новую строку переменной str2.
str2 = "Один Два Три Один";
// Поиск подстроки.
idx = str2.IndexOf("Один", StringComparison.Ordinal);
Console.WriteLine("Индекс первого вхождения подстроки <Один>: " + idx);
idx = str2.LastIndexOf("Один", StringComparison.Ordinal);
Console.WriteLine("Индекс последнего вхождения подстроки <Один>: " + idx);
}
}
47
48. Примеры
ПРИМЕР.using System;
class StringArrays {
static void Main() {
string[] str = { "Это", "очень", "простой", "тест." };
Console.WriteLine("Исходный массив: ");
for(int i=0; i < str.Length; i++)
Console.Write(str[i] + " ");
Console.WriteLine("\n");
// Изменить строку.
str[1] = "тоже";
str[3] = "до предела тест!";
Console.WriteLine("Видоизмененный массив: ");
for(int i=0; i < str.Length; i++)
Console.Write(str[i] + " ");
}
}
48
49. Примеры
ПРИМЕР 2. Сортировка массива.using System;
namespace SortM {
class Program {
static void Main() {
int[] array = { 24, 19, 18, 30, 17, 26 };
Array.Sort(array);
foreach (var person in array)
Console.Write($"{person} ");
Console.WriteLine();
}}}
using System;
namespace SortM {
class Program {
static void Main() {
int[] array = { 24, 19, 18, 30, 17, 26 };
Array.Sort(array, 1, 3);
foreach (var person in array)
Console.Write($"{person} ");
Console.WriteLine();
}}}
49