C# 4.0 полное руководство - 2011 - Герберт Шилдт
Шрифт:
Интервал:
Закладка:
если он обозначает строчную букву. В противном случае значение символа с не изменяется
public static
char
Возвращает прописной эквивалент символа с,
ToUpper(char i
c, Culturelnfo
если он обозначает строчную букву. В противном
culture)
случае значение символа с не изменяется. Преобразование выполняется в соответствии о информацией о культурной среде, указываемой в параметре culture, где Culturelnfo — это класс, определенный в пространстве имен System. Globalization
Окончание табл. 21.9
Метод
Назначение
public static char ■ ToUpperlnvariant(char c) public' static bool TryParse(string s, out char result)
Возвращает прописной эквивалент символа с независимо от настроек культурной среды Предпринимает попытку преобразовать символ из строки s в его эквивалентное значение типа char. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true. Если же строка s состоит из нескольких символов, то возвращается логическое значение false, в отличие от метода Parse (), который генерирует исключение при неудачном исходе преобразования
Ниже приведен пример программы, в которой демонстрируется применение нескольких методов, определенных в структуре Char.
// Продемонстрировать применение нескольких методов,
// определенных в структуре Char.
using System;
using System.Globalization;
class CharDemo {
static void Main() {
string str = "Это простой тест. $23"; int i;
for(i=0; i < str.Length; i++) {
Console.Write(str[i] + " является"); if(Char.IsDigit(str[i]))
Console.Write(" цифрой"); if(Char.IsLetter(str[i]))
Console.Write(" буквой"); if(Char.IsLower(str [i]))
Console.Write(" строчной"); if(Char.IsUpper(str[i]))
Console.Write(" прописной"); if(Char.IsSymbol(str[i]))
Console.Write(" символическим знаком"); if(Char.IsSeparator (str[i]))
Console.Write(" разделительным"); if(Char.IsWhiteSpace (str [i]))
Console.Write(" пробелом"); if(Char.IsPunctuation(str [i]))
Console.Write(" знаком препинания");
Console.WriteLine("Исходная строка: " + str);
// Преобразовать в прописные буквы.
string newstr = "";
for(i=0; i < str.Length; i++)
newstr += Char.ToUpper (str[i], Culturelnfo.CurrentCulture);
Console.WriteLine("После преобразования: " + newstr);
}
}
Эта программа дает следующий результат.
Э является буквой прописной т является буквой строчной о является буквой строчной
является разделительным пробелом п является буквой строчной р является буквой строчной
о является буквой строчной с является буквой строчной т является буквой строчной
о является буквой строчной й является буквой строчной
является разделительным пробелом т является буквой строчной е является буквой строчной с является буквой строчной т является буквой строчной . является знаком препинания
является разделительным пробелом $ является символическим знаком
2 является цифрой
3 является цифрой
Исходная строка: Это простой тест. $23 После преобразования: ЭТО ПРОСТОЙ ТЕСТ. $23
Структура Boolean
В структуре Boolean поддерживаются данные типа bool. Методы, определенные в этой структуре, перечислены в табл. 21.10. Кроме того, в ней определены следующие поля.
public static readonly string FalseString public static readonly string TrueString
В этих полях логические значения true и false содержатся в удобочитаемой форме. Так, если вывести содержимое поля FalseString с помощью-метода WriteLine (), то на экране появится строка "False".
В структуре Boolean реализованы следующие интерфейсы: I Comp а г able, IComparable<bool>, IConvertible иIEquatable<bool>.
Метод
Назначение
public int CompareTo(bool
Сравнивает логическое значение вызывающего объек
value).
та со значением параметра value. Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет логическое значение false, а параметр value — логическое значение true; и, наконец, положительное значение, если вызывающий объект имеет логическое значение true, а параметр value —логическое значение false
public int
Сравнивает логическое значение вызывающего объек
CompareTo(object obj)
та со значением параметра obj. Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет логическое значение false, а параметр obj — логическое значение true; и, наконец, положительное значение, если вызывающий объект имеет логическое значение true, а параметр obj — логическое значение false
public bool Equals(bool obj)
Возвращает логическое значение true, если значение вызывающего объекта равно значению параметра obj
public override bool
Возвращает логическое значение true, если значение
Equals(object obj)
вызывающего объекта равно значению параметра obj
public override int
Возвращает хеш-код для вызывающего объекта
GetHashCode()
public TypeCode
Возвращает значение перечисления TypeCode для
GetTypeCode()
структуры Boolean, т.е. TypeCode . Boolean
public static bool
Возвращает эквивалент типа bool символьной стро
Parse(string s)
ки s. Если строка s не содержит ни поле Boolean. TrueString, ни поле Boolean. FalseString, то генерируется исключение FormatException, независимо оттого, какими буквами набрано содержимое строки: прописными или строчными
public override string
Возвращает строковое, представление значения вызы
ToString()
вающего объекта, которое должно быть либо значением поля TrueString, либо значением поля FalseString
public string
Возвращает строковое представление значения вызы
ToString(IFormatProvider
вающего объекта, которое должно быть либо значением
provider)
поля TrueString, либо значением поля FalseString. При этом параметр provider игнорируется
public static bool
Предпринимает попытку преобразовать символ из стро
TryParse(string s, out
ки s в его эквивалентное значение типа bool. При
bool result)
успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true. Если же строка s не содержит ни поле Boolean. TrueString, ни поле Boolean. FalseString, то возвращается логическое значение false, независимо от того, какими буквами набрано содержимое строки: прописными или строчными, в отличие от метода Parse (), который генеоиоует исключение в аналогичной ситуации
Класс Array
Класс Array относится к числу наиболее часто используемых в пространстве имен System. Он является базовым классом для всех массивов в С#. Следовательно, его методы можно применять к массивам любого встроенного в C# типа или же к массивам определяемого пользователем типа. Свойства, определенные в классе Array, перечислены в табл. 21.11, а методы — в табл. 21.12.
В классе Array реализуются следующие интерфейсы: ICloneable, ICollection, IEnumerable, IStructuralComparable, IStructuralEquatable, а такжеIList. Все интерфейсы, кроме ICloneable, определены в пространстве имен System. Collections, подробнее рассматриваемом в главе 25.
В ряде методов данного класса используется параметр типа I Comparer или IComparer<T>. Интерфейс IComparer находится в пространстве имен System. Collections. В нем определяется метод Compare () для сравнения значений двух объектов, как показано ниже.
int Compare(object х, object у)
Этот метод возвращает значение больше нуля, если х больше у; значение меньше нуля, если х меньше у; и, наконец, нулевое значение, если оба значения равны.