Сначала продемонстрировать отличия между сравнением строк



С учетом культурной среды и порядковым сравнением.

result = String.Compare(str1, str2, StringComparison.CurrentCulture);

Console.Write("Сравнение строк с учетом культурной среды: ");

if (result < 0)

Console.WriteLine(str1 + " меньше " + str2);

else if (result > 0)

Console.WriteLine(str1 + " больше " + str2);

Else

Console.WriteLine(str1 + " равно " + str2);

 

result = String.Compare(str1, str2, StringComparison.Ordinal);

Console.Write("Порядковое сравнение строк: ");

if (result < 0)

Console.WriteLine(str1 + " меньше " + str2);

else if (result > 0)

Console.WriteLine(str1 + " больше " + str2);

Else

Console.WriteLine(str1 + " равно " + str4);

 

Использовать метод CompareOrdinal().

result = String.CompareOrdinal(str1, str2);

Console.Write("Сравнение строк методом CompareOrdinal():\n");

if (result < 0)

Console.WriteLine(str1 + " меньше " + str2);

else if (result > 0)

Console.WriteLine(str1 + " больше " + str2);

Else

Console.WriteLine(str1 + " равно " + str4);

 

Console.WriteLine();

 

// Определить равенство строк с помощью оператора == .

Это порядковое сравнение символьных строк,

if (str1 == str4)

Console.WriteLine(str1 + " == " + str4);

 

// Определить неравенство строк с помощью оператора !=.

if (str1 != str3)

Console.WriteLine(str1 + " != " + str3);

if (str1 != str2)

Console.WriteLine(str1 + " != " + str2);

 

Console.WriteLine();

 

Выполнить порядковое сравнение строк без учета регистра,

Используя метод Equals().

If (String.Equals(str1, str2, StringComparison.OrdinalIgnoreCase))

Console.WriteLine("Сравнение строк методом Equals() с "

+ "параметром OrdinallgnoreCase:\n"

+ str1 + " равно " + str2);

 

Console.WriteLine();

 

Сравнить части строк,

If (String.Compare(str2, 0, str5, 0, 3,

StringComparison.CurrentCulture) > 0) {

Console.WriteLine("Сравнение строк с учетом текущей культурной среды:"

+ "3 первых символа строки " + str2 +

" больше, чем 3 первых символа строки " + str5);

}

}

}

 

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

 

Сравнение строк с учетом культурной среды: alpha меньше Alpha

Порядковое сравнение строк: alpha больше Alpha

Сравнение строк методом CompareOrdinal(): alpha больше Alpha

 

alpha == alpha

alpha != Beta

alpha != Alpha

 

Сравнение строк методом Equals() с параметром OrdinallgnoreCase: alpha равно Alpha

Сравнение строк с учетом текущей культурной среды:

Первых символа строки Alpha больше, чем 3 первых символа строки alpha, beta

 

 

Сцепление строк

 

Строки можно сцеплять, т.е. объединять вместе, двумя способами. Во-первых, с помощью оператора +, как было показано в главе 7. И во-вторых, с помощью одного из методов сцепления, определенных в классе String. Конечно, для этой цели проще всего воспользоваться оператором +, тем не менее методы сцепления служат неплохой альтернативой такому подходу.

Метод, выполняющий сцепление строк, называется Concat(). Ниже приведена одна из самых распространенных его форм.

 

Public static string Concat(string str0, string str1)

 

Этот метод возвращает строку, состоящую из строки str1 , присоединяемой путем сцепления в конце строки str0. Ниже приведена еще одна форма метода Concat(), в которой сцепляются три строки.

 

Public static string Concat(string str0, string str1,string str2)

 

В данной форме метод Concat() возвращает строку, состоящую из последовательно сцепленных строк str0, str1 и str2.

Имеется также форма метода Concat(), в которой сцепляются четыре строки.

 

Public static string Concat(string str0, string str1, string str2, string str3)

 

В этой форме метод Concat() возвращает строку, состоящую из четырех последовательно сцепленных строк.

А в приведенной ниже еще одной форме метода Соncat() сцепляется произвольное количество строк:

 

public static string Concat(params string[] values)

 

где values обозначает переменное количество аргументов, сцепляемых для получения возвращаемого результата. Если в этой форме метода Concat() допускается сцепление произвольного количества строк, то зачем нужны все остальные его формы? Они существуют ради повышения эффективности. Ведь передача методу от одного до четырех аргументов оказывается намного эффективнее, чем использование для этой цели переменного списка аргументов.

В приведенном ниже примере программы демонстрируется применение метода Concat() в форме с переменным списком аргументов.

 

// Продемонстрировать применение метода Concat().

using System;

class ConcatDemo {

static void Main() {

string result = String.Concat("Это ", "тест ", "метода ",

"сцепления ", "строк ",

"из класса ", "String." );

Console.WriteLine("Результат: " + result);

}

}

 

Эта программа дает следующий результат.

 


Дата добавления: 2019-02-12; просмотров: 496; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!