Чтение онлайн

на главную - закладки

Жанры

C# 4.0 полное руководство - 2011

Шилдт Герберт

Шрифт:

Console.WriteLine("Индекс первого вхождения подстроки <Один>: " + idx)

idx = str2.LastlndexOf("Один", StringComparison.Ordinal);

Console.WriteLine("Индекс последнего вхождения подстроки <0дин>: " + idx) ;

}

}

При выполнении этой программы получается следующий результат.

strl: Программировать в .NET лучше всего на С#.

Длина строки strl: 41

Вариант строки strl,

набранный строчными буквами: программировать в .net лучше всего на с#.

Вариант строки strl, набранный прописными буквами: программировать в .net лучше всего на с#.

Вывод строки strl посимвольно.

Программировать в .NET лучше всего на С#.

strl == str2 strl != str3

Строка strl больше строки str3

Индекс первого вхождения подстроки <0дин>: О

Индекс последнего вхождения подстроки <0дин>: 13

Прежде чем читать дальше, обратите внимание на то, что метод Compare вызы

вается следующим образом.

result = string.Compare(strl, str3, StringComparison.CurrentCulture);

Как пояснялось ранее, метод Compare объявляется как static, и поэтому он вызывается по имени, а не по экземпляру своего класса.

С помощью оператора + можно сцепить (т.е. объединить вместе) две строки. Например, в следующем фрагменте кода:

string strl = "Один";

string str2 = "Два";

string str3 = "Три";

string str4 = strl + str2 + str3;

переменная str4 инициализируется строкой "ОдинДваТри".

И еще одно замечание: ключевое слово string является псевдонимом класса System. String, определенного в библиотеке классов для среды .NET Framework, т.е. оно устанавливает прямое соответствие с этим классом. Следовательно, поля и методы, определяемые типом string, относятся непосредственно к классу System. String, в который входят и многие другие компоненты. Подробнее о классе System. String речь пойдет в части II этой книги.

Массивы строк

Аналогично данным любого другого типа, строки могут быть организованы в массивы. Ниже приведен соответствующий пример.

// Продемонстрировать массивы строк.

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[l] = "тоже";

str[3] = "до предела тест!";

Console.WriteLine("Видоизмененный массив: "); for (int i=0; i < str.Length; i++)

Console.Write(str[i] + " ");

}

}

Вот какой результат дает выполнение приведенного выше кода.

Исходный массив:

Это очень простой тест.

Видоизмененный массив:

Это тоже простой до предела тест!

Рассмотрим более интересный пример. В приведенной ниже программе целое число выводится словами. Например, число 19 выводится словами "один девять".

// Вывести отдельные цифры целого числа словами, using System;

class ConvertDigitsToWords { static void Main { int num; int nextdigit; int numdigits; int[] n = new int[20];

string[] digits = { "нуль", "один", "два",

"три", "четыре", "пять",

"шесть", "семь", "восемь",

"девять" };

num =1908;

Console.WriteLine("Число: " + num);

Console.Write("Число словами: ");

nextdigit = 0; numdigits = 0;

// Получить отдельные цифры и сохранить их в массиве п.

// Эти цифры сохраняются в обратном порядке, do {

nextdigit = num % 10; n[numdigits] = nextdigit; numdigits++; num = num /10;

} while(num > 0); numdigits--;

// Вывести полученные слова.

for( ; numdigits >= 0; numdigits--)

Console.Write(digits[n[numdigits]] + " ");

Console.WriteLine ;

}

}

Выполнение этой программы приводит к следующему результату.

Число: 1908

Число словами: один девять нуль восемь

В данной программе использован массив строк digits для хранения словесных обозначений цифр от 0 до 9. По ходу выполнения программы целое число преобразуется в слова. Для этого сначала получаются отдельные цифры числа, а затем они сохраняются в обратном порядке следования в массиве п типа int. После этого выполняется циклический опрос массива п в обратном порядке. При этом каждое целое значение из массива п служит в качестве индекса, указывающего на слова, соответствующие полученным цифрам числа и выводимые как строки.

Поделиться:
Популярные книги

Невеста драконьего принца

Шторм Елена
Любовные романы:
любовно-фантастические романы
5.25
рейтинг книги
Невеста драконьего принца

Мастер Разума III

Кронос Александр
3. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.25
рейтинг книги
Мастер Разума III

Недотрога для темного дракона

Панфилова Алина
Фантастика:
юмористическое фэнтези
фэнтези
сказочная фантастика
5.00
рейтинг книги
Недотрога для темного дракона

Идеальный мир для Лекаря 26

Сапфир Олег
26. Лекарь
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 26

Измена. Мой заклятый дракон

Марлин Юлия
Любовные романы:
любовно-фантастические романы
7.50
рейтинг книги
Измена. Мой заклятый дракон

Случайная свадьба (+ Бонус)

Тоцка Тала
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Случайная свадьба (+ Бонус)

Попаданка для Дракона, или Жена любой ценой

Герр Ольга
Любовные романы:
любовно-фантастические романы
7.17
рейтинг книги
Попаданка для Дракона, или Жена любой ценой

1941: Время кровавых псов

Золотько Александр Карлович
1. Всеволод Залесский
Приключения:
исторические приключения
6.36
рейтинг книги
1941: Время кровавых псов

Отрок (XXI-XII)

Красницкий Евгений Сергеевич
Фантастика:
альтернативная история
8.50
рейтинг книги
Отрок (XXI-XII)

Отверженный III: Вызов

Опсокополос Алексис
3. Отверженный
Фантастика:
фэнтези
альтернативная история
7.73
рейтинг книги
Отверженный III: Вызов

Адвокат вольного города 2

Парсиев Дмитрий
2. Адвокат
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Адвокат вольного города 2

На границе империй. Том 8. Часть 2

INDIGO
13. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 8. Часть 2

Город воров. Дороги Империи

Муравьёв Константин Николаевич
7. Пожиратель
Фантастика:
боевая фантастика
5.43
рейтинг книги
Город воров. Дороги Империи

Метатель

Тарасов Ник
1. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель