В версию .NET Framework 4.0 добавлены еще два интерфейса, поддерживающие шаблон наблюдателя:
IObservableиIObserver.В шаблоне наблюдателя один класс (в роли наблюдаемого) предоставляет уведомления другому классу (в роли наблюдателя). С этой целью объект наблюдаемого класса регистрирует объект наблюдающего класса. Для регистрации наблюдателя вызывается методSubscribe , который определен в интерфейсеIObservableи которому передается объект типаIObserver,принимающий уведомление. Для получения уведомлений можно зарегистрировать несколько наблюдателей. А для отправки уведомлений всем зарегистрированным наблюдателям применяются три метода, определенные в интерфейсеIObserver.Так, методOnNext () отправляет данные наблюдателю, методOnError сообщает об ошибке, а методOnCompleted указывает на то, что наблюдаемый объект прекратил отправку уведомлений.ГЛАВА 22 Строки и форматирование
В этой главе рассматривается класс
String,положенный в основу встроенного в C# типаstring.Как известно, обработка символьных строк является неотъемлемой частью практически всех программ. Именно по этой причине в классеStringопределяется обширный ряд методов, свойств и полей, обеспечивающих наиболее полное управление процессом построения символьных строк и манипулирования ими. С обработкой строк тесно связано форматирование данных в удобочитаемой форме. Используя подсистему форматирования, можно отформатировать данные всех имеющихся в C# числовых типов, а также дату, время и перечисления.Строки в с#
Вопросы обработки строк уже обсуждались в главе 7, и поэтому не стоит повторяться. Вместо этого целесообразно дать краткий обзор реализации символьных строк в С#, прежде чем переходить к рассмотрению класса
String.Во всех языках программирования
строкапредставляет собой последовательность символов, но конкретная ее реализация отличается в разных языках. В некоторых языках программирования, например в C++, строки представляют собой массивы символов, тогда как в C# они являются объектами встроенного типа данныхstring.Следовательно,stringявляется ссылочным типом. Более того,string— это имя стандартного для среды .NET строкового типаSystem. String.Это означает, что в C# строке как объекту доступны все методы, свойства, поля и операторы, определенные в классеString.