Книга: C# для профессионалов. Том II
Базовые типы данных как объекты
Базовые типы данных как объекты
В отличие от C++ (но как в Java) базовые типы данных в C# трактуются как объекты, чтобы вызывать на них некоторые методы. Например, в C# возможно преобразование целого числа в строку следующим образом.
int I = 10;
string Y = I.ToString();
Можно даже написать:
string Y = 10.ToString();
Тот факт, что базовые типы данных рассматриваются как объекты, показывает тесную связь между C# и библиотекой базовых классов .NET. C# компилирует базовые типы данных, отображая каждый из них в один из базовых классов, например, string
отображается в System.String
, int
в System.Int32
и т.д. Поэтому на самом деле в C# все является объектом. Однако отметим, что это применимо только для синтаксических целей. В реальности при выполнении кода эти типы реализуются как описанные ниже типы промежуточного языка, поэтому нет потери производительности, связанной с интерпретацией базовых типов как объектов. Здесь не будут перечисляться все методы, доступные для базовых типов данных, так как подробности представлены в MSDN. Однако необходимо отметить следующие особенности:
? Все типы имеют метод ToString()
. Для базовых типов данных он возвращает строковое представление их значения.
? char
содержит большое число свойств, которые предоставляют информацию о своем содержимом (IsLetter
, IsNumber
и т.д.), а также методы для выполнения преобразований (ToUpper()
, ToLower()
).
? string
имеет очень большое число методов и свойств. Строки будут рассмотрены отдельно.
Также доступен ряд статических методов членов и свойств. Они включают следующие:
? Целые типы имеют MinValue
и MaxValue
, чтобы указать минимальное и максимальное значения, которые могут содержаться в типе данных.
? Типы данных float
и double
также имеют свойство Epsilon
, которое указывает наименьшее возможное значение больше нуля, которое может в нем содержаться.
? Отдельные значения — NaN
(не число, которое не определено), PositiveInfinity
(положительная бесконечность) и NegativeInfinity
(отрицательная бесконечность) определены для float
и double
. Результаты вычисления будут возвращать эти значения в подходящих ситуациях, например, деление положительного числа на ноль будет иметь в результате PositiveInfinity
, в то время как деление нуля на нуль создаст NaN
. Эти значения доступны как статические свойства.
? Многие типы, включая все числовые, имеют статический метод Parse()
, который позволяет преобразование из строки: double D = double.Parse("20.5")
.
Отметим, что статические методы в C# вызываются определением имени типа данных: int.MaxValue
и float.Epsilon
.
- 2.1. Объекты данных
- A4.2. Базовые типы
- A4.3. Производные типы
- Тип данных System.String
- Контекстно-независимые и контекстно-связанные типы
- Резервное копирование базы данных InterBase
- Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Резервное копирование многофайловых баз данных
- Восстановление из резервных копий многофайловых баз данных
- Владелец базы данных
- ЧАСТЬ IV. База данных и ее объекты.
- Перевод базы данных InterBase 6.x на 3-й диалект