Шрифт:
Интервал:
Закладка:
Библиотека среды .NET Framework довольно обширна, и поэтому ее полное описание выходит за рамки этой книги. (На самом деле для этого потребовалась бы отдельная и довольно объемистая книга!) Поэтому в части II рассматриваются лишь самые основные элементы данной библиотеки, многие из которых находятся в пространстве имен System. Кроме того, в этой части описываются классы коллекций, а также вопросы организации многопоточной обработки и сетей.
--------------------------------
ПРИМЕЧАНИЕ
Классы ввода-вывода подробно рассматривались в главе 14.
--------------------------------
ГЛАВА 21 Пространство имен System
ГЛАВА 22 Строки и форматирование
ГЛАВА 23 Многопоточное программирование. Часть первая: основы
ГЛАВА 24 Многопоточное программирование. Часть вторая: библиотека TPL
ГЛАВА 25 Коллекции, перечислители и итераторы
ГЛАВА 26 Сетевые средства подключения к Интернету
ГЛАВА 21 Пространство имен System
В этой главе речь пойдет о пространстве имен System. Это пространство имен самого верхнего уровня в библиотеке классов для среды .NET Framework. В нем непосредственно находятся те классы, структуры, интерфейсы, делегаты и перечисления, которые чаще всего применяются в программах на C# или же считаются неотъемлемой частью среды .NET Framework. Таким образом, пространство имен System составляет ядро рассматриваемой здесь библиотеки классов.
Кроме того, в пространство имен System входит много вложенных пространств имен, поддерживающих отдельные подсистемы, например System.Net. Некоторые из этих пространств имен рассматриваются далее в этой книге. А в этой главе речь пойдет только о членах самого пространства имен System.
Члены пространства имен System
Помимо большого количества классов исключений, в пространстве имен содержатся приведенные ниже классы.
ActivationContext
Activator
AppDomain
AppDomainManager
AppDomainSetup
Applicationld
Applicationldentity
Array
AssemblyLoadEventArgs
Attribute
AttributeUsageAttribute
BitConverter
Buffer
CharEnumerator
CLSCompliantAttribute
Console
ConsoleCancelEventArgs
ContextBoundObject
ContextStaticAttribute
Convert
DBNull
Delegate
Enum
Environment
EventArgs
Exception
FileStyleUriParser
FlagsAttribute
FtpStylellri Parser
GC
GenericUriParser
GopherStylellri Parser
HttpStyleUri Parser
Lazy<T>
Lazy<T, TMetadata>
LdapStyleUriParser
LoaderOptimizationAttribute
LocalDataStoreSlot
MarshalByRefObject
Math
MTAThreadAttribute
MulticastDelegate
NetPipeStylellriParser
NetTcpStylellriParser
NewsStyleUriParser
NonSerializedAttribute
Nullable
Object
ObsoleteAttribute
OperatingSystem
ParamArrayAttribute
Random
ResolveEventArgs
SerializableAttribute
STAThreadAttribute
String
StringComparer
ThreadStaticAttribute
TimeZone
TimeZonelnfo
TimeZonelnfo.AdjustmentRule
Tuple
Tuple<...> (различные формы)
Type
Unhandled Exception EventArgs
Uri
UriBuilder
Uri Parser
UriTemplate
UriTemplateEquivalenceComparer
UriTemplateMatch
UriTemplateTable
UriTypeConverter
ValueType
Version
WeakReference
Ниже приведены структуры, определенные в пространстве имен System.
Arglterator
ArraySegment<T>
Boolean
Byte
Char
ConsoleKeylnfo
DateTime
DateTimeOffset
Decimal
Double
Guid
Int16
Int32
Int64
IntPtr
ModuleHandle
Nullable<T>
RuntimeArgumentHandle
RuntimeFieldHandle
RuntimeMethodHandle
RuntimeTypeHandle
Sbyte
Single
TimeSpan
TimeZonelnfo.TransitionTime
Typed Reference
Uint16
Ulnt32
Ulnt64
UIntPtr
Void
В пространстве имен System определены приведенные ниже интерфейсы
_AppDomain
lappDomainSetup
lAsyncResult
ICIoneable
IComparable
IComparable<T>
IConvertible
ICustomFormatter
IDisposable
IEquatable<T>
IFormatProvider
IFormattable
IObservable<T>
IObserver<T>
IServiceProvider
Ниже приведены делегаты, определенные в пространстве имен System.
Action
Action<...> (различные формы)
AppDomainlnitializer
AssemblyLoadEventHandler
AsyncCallback
Comparison<T>
ConsoleCancelEventHandler
Converter<Tlnput, VOutput>
CrossAppDoma in Delegate
EventHandler
EventHandler<TEventArgs>
Func<...> (различные формы)
Predicate<T>
ResolveEventHandler
UnhandledExceptionEventHandler
В пространстве имен System определены приведенные ниже перечисления.
ActivationContext.contextForrr
AppDomainManagerlnitializationOptions AttributeTargets
Base64Formatting0ptions
ConsoleColor
ConsoleKey
ConsoleModifiers
ConsoleSpecialKey
DateTimeKind
DayOfWeek
Environment.SpecialFolder
Environment.SpecialFolderOption
EnvironmentVariableTarget
GCCol lection Mode
GCNotificationStatus
GenericUriParserOptions
LoaderOptimization
MidpointRounding
PlatformID
StringComparison
StringSplitOptions
TypeCode
UriComponents
UriFormat
UriHostNameType
UrildnScope
UriKind
UriPartial
Как следует из приведенных выше таблиц, пространство имен System довольно обширно, поэтому в одной главе невозможно рассмотреть подробно все его составляющие. К тому же, некоторые члены пространства имен System, в том числе Nullable<T>, Type, Exception и Attribute, уже рассматривались в части I или будут представлены в последующих главах части II. И наконец, класс System.String, в котором определяется тип string для символьных строк в С#, обсуждается вместе с вопросами форматирования в главе 22. В силу этих причин в настоящей главе рассматриваются только те члены данного пространства имен, которые чаще всего применяются в программировании на C# и не поясняются полностью в остальных главах книги.
Класс Math
В классе Math определен ряд стандартных математических операций, в том числе извлечение квадратного корня, вычисление синуса, косинуса и логарифмов. Класс Math является статическим, а это означает, что все методы, определенные в нем, относятся к типу static, объекты типа Math не конструируются, а сам класс Math неявно герметичен и не может наследоваться. Методы, определенные в классе Math, перечислены в табл. 21.1, где все углы указаны в радианах.
- QT 4: программирование GUI на С++ - Жасмин Бланшет - Программирование
- C# для профессионалов. Том II - Симон Робинсон - Программирование
- ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. РУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ - ГОССТАНДАРТ РОССИИ - Программирование
- Управление исходными текстами. Часть 1. Краткое руководство по CVS - Илья Рыженков - Программирование
- Гибкое управление проектами и продуктами - Борис Вольфсон - Программирование
- Каждому проекту своя методология - Алистэр Коуберн - Программирование
- Разработка ядра Linux - Роберт Лав - Программирование
- Как спроектировать современный сайт - Чои Вин - Программирование
- Творческий отбор. Как создавались лучшие продукты Apple во времена Стива Джобса - Кен Косиенда - Прочая околокомпьтерная литература / Интернет / Программирование
- Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - Александр Фролов - Программирование