Читаем C# 4.0: полное руководство полностью

Для проверки двух строк на равенство служит оператор ==. Как правило, если оператор == применяется к ссылкам на объект, то он определяет, являются ли они ссылками на один и тот же объект. Совсем иначе обстоит дело с объектами типа string. Когда оператор == применяется к ссылкам на две строки, он сравнивает содержимое этих строк. Это же относится и к оператору !=. В обоих случаях выполняется порядковое сравнение. Для проверки двух строк на равенство с учетом культурной среды служит метод Equals(), где непременно нужно указать способ сравнения в виде аргумента StringComparison.CurrentCulture. Следует также иметь в виду, что метод Compare() служит для сравнения строк с целью определить отношение порядка, например для сортировки. Если же требуется проверить символьные строки на равенство, то для этой цели лучше воспользоваться методом Equals() или строковыми операторами.

В приведенном ниже примере программы демонстрируется несколько операций со строками.


// Некоторые операции со строками.

using System;

using System.Globalization;

class StrOps {

  static void Main() {

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

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

    string str3 = "Строки в C# весьма эффективны.";

    string strUp, strLow;

    int result, idx;


    Console.WriteLine("strl: " + strl);

    Console.WriteLine("Длина строки strl: " + strl.Length);


    // Создать варианты строки strl, набранные

    // прописными и строчными буквами.

    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, набранный строчными буквами:

Перейти на страницу:

Похожие книги

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных