Книга: 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.

Оглавление книги


Генерация: 1.534. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз