strLow = strl.ToLower(CultureInfo.CurrentCulture);
strUp = strl.ToUpper (CultureInfo.CurrentCulture);
Console.WriteLine("Вариант строки strl, " +
"набранный строчными буквами:\n " + strLow);
Console.WriteLine("Вариант строки strl, " +
"набранный прописными буквами:\n " + strUp);
Console.WriteLine();
// Вывести строку strl посимвольно.
Console.WriteLine("Вывод строки strl посимвольно.");
for (int i=0; i < strl.Length; i++)
Console.Write(strl[i]);
Console.WriteLine("\n");
// Сравнить строки способом порядкового сравнения,
if (strl == str2)
Console.WriteLine("strl == str2");
else
Console.WriteLine("strl != str2");
if (strl == str3)
Console.WriteLine("strl == str3");
else
Console.WriteLine("strl != str3");
// Сравнить строки с учетом культурной среды.
result = string.Compare(str3, strl, StringComparison.CurrentCulture) ;
if(result == 0)
Console.WriteLine("Строки strl и str3 равны");
else
if (result < 0)
Console.WriteLine("Строка strl-меньше строки str3");
else
Console.WriteLine("Строка strl больше строки str3");
Console.WriteLine();
// Присвоить новую строку переменной str2.
str2 = "Один Два Три Один";
// Поиск подстроки.
idx = str2.IndexOf("Один", StringComparison.Ordinal);
Console.WriteLine("Индекс первого вхождения подстроки <���Один>: " + idx);
idx = str2.LastIndexOf("Один", StringComparison.Ordinal);
Console.WriteLine("Индекс последнего вхождения подстроки <0дин>: " + idx) ;
}
}
При выполнении этой программы получается следующий результат.
strl: Программировать в .NET лучше всего на С#.
Длина строки str1: 41
Вариант строки str1, набранный строчными буквами:
программировать в .net лучше всего на с#.
Вариант строки str1, набранный прописными буквами:
программировать в .net лучше всего на с#.
Вывод строки str1 посимвольно.
Программировать в .NET лучше всего на С#.
str1 == str2
str1 != str3
Строка str1 больше строки str3
Индекс первого вхождения подстроки <0дин>: О
Индекс последнего вхождения подстроки <0дин>: 13
Прежде чем читать дальше, обратите внимание на то, что метод Compare()
вызывается следующим образом.
result = string.Compare(strl, str3, StringComparison.CurrentCulture);
Как пояснялось ранее, метод Compare()
объявляется как static
, и поэтому он вызывается по имени, а не по экземпляру своего класса.
С помощью оператора + можно сцепить (т.е. объединить вместе) две строки. Например, в следующем фрагменте кода:
string str1 = "Один";
string str2 = "Два";
string str3 = "Три";
string str4 = str1 + 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[1] = "тоже";
str[3] = "до предела тест!";
Console.WriteLine("Видоизмененный массив: ");
for (int i=0; i < str.Length; i++)
Console.Write(str[i] + " ");
}
}
Читать дальше