Строки

Общие сведения о строках в C#

Работа со строками в C# – одна из наиболее распространенных задач. Строки в C# представлены классом System.String и относятся к ссылочным типам данных.

Класс String содержит закрытое поле к котором хранятся объекты типа Char, представляющие собой отдельные символы строки. Строки в C# неизменяемы (почти), поэтому и символы внутри строки доступны только для чтения. Для того, чтобы получить измененную строку нужно создать новый экземпляр строки, и присвоить ему измененную версию.

Тип System.String в C# имеет эквивалентный псевдоним – string, т.е. не имеет значения какой из этих вариантов использовать в программе. 

Инициализация строк выполняется посредством оператора присваивания:

string s = "Новая строка";
s = "Другая строка";

[вверх]


Сравнение строк

Строки сравниваются при помощи операторов сравнения: равенство – ( == ) и неравенство ( != ):

string s1 = "Строка1";
string s2 = "Строка2";

if ( s1 == s2 )
    Console.WriteLine( "Это одинаковые строки." );

if ( s1 != s2 )
    Console.WriteLine( "Это разные строки." );

// Вывод:
// Это разные строки.

[вверх]


Сравнение строк с помощью метода Equals

Строки можно сравнивать при помощи метода Equals. Этот метод чувствителен к регистру, т.е. две строки набранные в разном регистре будут считаться разными.

string s1 = "Первая строка";
Console.WriteLine( s1.Equals( "Первая строка" ) );
// Вывод: True

Console.WriteLine( s1.Equals( "первая строка" ) );
// Вывод: False

Можно также использовать статический метод String.Equals, как показано в примере:

string s1 = "Первая строка";
string s2 = "Вторая строка";

Console.WriteLine( String.Equals( s1, s2 ) );
// Вывод: False

[вверх]


Сравнение строк с помощь метода String.Compare

Еще одним способом сравнения строк является статический метод String.Compare. Этот метод имеет несколько перегруженных вариантов, наибольший интерес среди которых представляют следующие:

// Сравнивает две строки
public static int Compare(String strA, String strB);

// Сравнивает две строки без учета регистра
public static int Compare(String strA, String strB, bool ignoreCase);

// Сравнивает две строки используя StringComparison
public static int Compare(String strA, String strB, StringComparison comparisonType);

По результатам сравнения строк метод String.Compare возвращает следующие значения:

Возвращаемое значениеОписание
-1Первая строка будет находиться ниже в результатах сортировки
0Строки равны
1Первая строка будет находиться выше в результатах сортировки
Значения возвращаемые методом String.Compare

Пример использования метода String.Compare:

string s1 = "Первая строка";
string s2 = "первая строка";

Console.WriteLine(string.Compare(s1, s2));
// Вывод: 1

Console.WriteLine(string.Compare(s2, s1));
// Вывод: -1

Console.WriteLine(string.Compare(s1, s2, true));
// Вывод: 0

[вверх]

avatar
5000
0 Цепочка комментария
0 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
0 Авторы комментариев
Авторы недавних комментариев
  Подписаться  
новее старее большинство голосов
Уведомление о