Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Обращение со строками





Как правило и за рядом исключений, для сравнения символьных строк с учетом культурной среды (т.е. языковых и региональных стандартов) применяется способ StringComparison.CurrentCulture. Если же требуется сравнить строки только на основании значений их символов, то

Лучше воспользоваться способом StringComparison. Ordinal, а для сравнения

строк без учета регистра — одним из двух способов: StringComparison.CurrentCultureIgnoreCase или

StringComparison.OrdinalIgnoreCase.

……метод Compare() вызывается по имени своего класса, а не по его экземпляру. Следовательно, для вызова метода Compare() служит следующая общая форма:

результат = string.Compare(str1, str2, способ);

где способ обозначает конкретный подход к сравнению символьных строк.

Отдельный символ выбирается из строки с помощью индекса, как в приведенном ниже фрагменте кода.

string str = "тест";

Console.WriteLine(str[0]);

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

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

using System;

using System.Globalization;

class StrOps

{

static void Main()

{

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

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

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

string strUp, strLow;

int result, idx;

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

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

//создать варианты строки str1, набранные прописными и строчными буквами

strLow = str1.ToLower(CultureInfo.CurrentCulture);

strUp = str1.ToUpper(CultureInfo.CurrentCulture);

Console.WriteLine("Вариант строки str1, "

+ "набранный строчными буквами:\n " + strLow);

Console.WriteLine("Вариант строки str1, "

+ "набранный прописными буквами:\n " + strUp);

Console.WriteLine();

 

//вывести строку str1 посимвольно.

Console.WriteLine("Вывод строки str1 посимвольно.");

for (int i = 0; i < str1.Length; i++) Console.Write(str1[i]);

Console.WriteLine("\n");

//сравнить строки способом порядкового сравнения.

if (str1 == str2) Console.WriteLine("str1==str2");

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

if (str1 == str3) Console.WriteLine("str1==str3");

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

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

result = string.Compare(str3, str1, StringComparison.CurrentCulture);

if (result == 0) Console.WriteLine("Строки str1 и str3 равны");

else if (result < 0) Console.WriteLine("Строка str1 меньше строки str3");

else Console.WriteLine("Строка str1 больше строки str3");

Console.WriteLine();

//присвоить новую строку переменной str2

str2 = "Один Два Три Один";

//поиск подстроки.

idx = str2.IndexOf("Один", StringComparison.Ordinal);

Console.WriteLine("Индекс первого вхождения подстроки <Один>: " + idx);

idx = str2.LastIndexOf("Один", StringComparison.Ordinal);

Console.WriteLine("Индека последнего вхождения подстроки <Один>: " + idx);

}

}

 







Date: 2015-09-02; view: 372; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию