Ниже приведен пример программы, в которой демонстрируется применение нескольких методов, определенных в структуре 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);

}

}

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

Э является буквой прописной т является буквой строчной о является буквой строчной

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

О является буквой строчной с является буквой строчной т является буквой строчной

О является буквой строчной й является буквой строчной

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

является разделительным пробелом $ является символическим знаком

Является цифрой

Является цифрой

Исходная строка: Это простой тест. $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 () для сравнения значений двух объектов, как показано ниже.