Наконец подхожу к самому последнему на мой взгляд из "самых" основ по C# - это строки. Строки в C# описываются также как и C-подобных языках:
//
string s;
//

Для совсем новичков обьясню что такое строка. Строка - это массив типа char(символов). Со строками удобнее работать чем с массивами. К примеру если мы хотим сложить две строки то мы пишем:

//
string s,s1,s2;
s1="Privet";
s2="Ura";
s=s1+s2;
Console.Writeline(s);
//

то программа нам выведет PrivetUra.

Давайте представим чтобы мы делали если бы работали с массивами символов.
Наверное мы б создавали новый массив с размерностью ,как сумма размерностей исходных. С помощью цикла передавали бы значения из одного исходных массивов в результирующий , ну и т.д.

Теперь чуть углубимся. На самом деле строки в C# - это экземпляры класса System.String. Этот класс имеет много методов и свойств, которые позволяют нам комфортно работать со строками.

О некоторых я расскажу подподробнее:

Свойство Length: Возвращает длину строки.

Пример использования:

String s="qqq";
int а=s.Length; //В а запишется 3

Метод Compare: Статический метод, который сравнивает две строки. Возвращает 0, есть строки равны, отрицательное значение, если первая строка меньше второй и положительное значение, если первая строки больше второй (больше и меньше в алфавитном смысле).

Пример использования:

namespace test
{
class Test
{

public static void Main()
{
String s1="arbour", s2="ace", s3="azote";
Console.WriteLine(String.Compare(s1, s1)); //Выдаст 0, т. к. "arbour" равно "arbour".
Console.WriteLine(String.Compare(s1, s2)); //Выдаст -1, т. к. "arbour" меньше "ace".
Console.WriteLine(String.Compare(s1, s3)); //Выдаст 1, т. к. "arbour" больше "azote".
}
}
}

Метод Equals: Метод, возвращает true, если строки равны, false - если не равны. Может быть как статическим, так и не статическим.

Пример использования:

String s1="qqq", s2="www";
Console.WriteLine(String.Equals(s1, s2).ToString());
//Статический метод
Console.WriteLine(Console.WriteLine(String.Equals( s1, s2).ToString());
//Не статический метод
Console.WriteLine(s1.Equals(s2).ToString());.ToStr ing());

Метод Substring: Поволяет извлечь из строки подстроку.

Пример использования:

String s1="abcdefg", s2;
s2=s1.Substring(3, 2);
Console.WriteLine(s2); //Напечатается "de"

Параметры тут такие: первый - с какого места извлекаем (нумерация с нуля) и второй - сколько символов извлекаем.

Метод Insert: Вставляет в строку другую строку. Пример использования:

String s1="abcdefg", s2;
s2=s1.Insert(1, "xyz");
Console.WriteLine(s2); //Напечатается "axyzbcdefg"

Первый параметр тут - это куда вставляем (нумерация, как всегда, с нуля), второй - что за строчку вставляем.

Метод IndexOf: Позволяет найти в строке подстроку. Пример использования:

String s1="abcabcab", s2="bc", s3="zzz";
Console.WriteLine(s1.IndexOf(s2)); //Напечатается 1
Console.WriteLine(s1.IndexOf(s3)); //Напечатается -1
Этот метод возвращает номер позиции, на котором в строке находится передаваемая в качестве параметра подстрока. Если такой построки нет, то возвращается -1.

Метод Replace: Производит замену в строке. Пример использования:

String s1="abcabcab", s2="bc", s3;
s3=s1.Replace(s2, "q");
Console.WriteLine(s3); //Напечатается aqaqab

Методы EndWith и StartsWith: Проверяют, не завершается ли или не начинается ли строка с или на заданную строку соответственно. Пример использования:

String s1="arbour";
if(s1.StartsWith("ar"))
Console.WriteLine("Строка начинается на \"ar\"");
else
Console.WriteLine("Строка не начинается на \"ar\"");

Методы ToUpper и ToLower : Переводят строку в верхний или нижний регистр соответственно. Пример использования:

String s1="aRbRur";
s1=s1.ToLower();

Методы Trim: TrimEnds и TrimStart, удаляют пробельные символы из начала и конца строки (Trim), только с конца строки (TrimEnds) и только с начала строки (TrimStart).

Пример использования:

String s1=" ar brur ";
System.Console.Write(s1.Trim());

Заметьте, что при изменении строки фактически старый экземпляр класса System.String уничтожается, и создается новый с там же именем и измененным содержанием. Это означает, что при интенсивной работе со строками программа может работеть не так быстро, как хотелось бы. Если мы не хотим, что бы каждый раз создавался новый экземпляр класса, то вместо класса System.String надо использовать класс StringBuilder. Его я рассмотрю попозже, когда мы немного познакомимся с классами.

© Hintax