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

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

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

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