bool b1 = new bool(); // b1= false.
bool b2 = false;
Кстати, заметим, что можно создавать системные типы данных, используя абсолютные имена.
// Следующие операторы также семантически эквивалентны.
System.Вoоl b1
System.Bool sb2 = false;
Эксперименты с числовыми типами данных
Числовые типы .NET поддерживают свойства MaxValue и МinValue, сообщающие информацию о диапазоне данных, которые может хранить данный тип. Предположим, что мы создали несколько переменных типа System.UInt16 (unsigned short – короткое целое без знака), как показано ниже.
static void Main(string[] args) {
System.Uint16.myUInt16 = 300000;
Console.WriteLine("Максимум для UInt16: {0} ", UInt16.MaxValue);
Console.WriteLine("Минимум для UInt16: {0} ", UInt16.MinValue);
Console.WriteLine("Значение равно: {0} ", myUInt16);
Console.WriteLine("Я есть: {0} ", myUInt16.GetType());
// Теперь для сокращения System.UInt16 (т.e для ushort).
ushort myOtherUInt16 = 12000;
Console.WriteLine("Максимум для UInt16: {0} ", ushort.MaxValue);
Console.WriteLine("Минимум для UInt16: {0} ", ushort.MinValue);
Console.WriteLine("Знaчение равно: {0} ", myOtherUInt16);
Console.WriteLine("Я есть: {0} ", myotherUInt16.GetType());
Console.ReadLine();
}
Вдобавок к свойствам MinValue/MaxValue системные типы могут определять другие полезные члены. Например, тип System.Double позволяет получить значения Epsilon и Infinity.
Console.WriteLine("
Console.WriteLine("-› double.РositiveInfinitу: {0} ", double.PositiveInfinity);
Console.WriteLine("-› double.NegativeInfinity: {0}", double.NegativeInfinity);
Console.WriteLine("-› double.MaxValue: {0}", double.MaxValue);
Console.WriteLine("-› double.MinValue: {0}", double.MinValue);
Члены System.Boolean
Теперь рассмотрим тип данных System.Boolean. В отличие от C(++), в C# единственными возможными значениями для bool являются {true | false}. В C# вы не можете назначать типу bool импровизированные значения (например, -1, 0, 1), что считается (большинством программистов) правильным нововведением. С учетом этого должно быть понятно, почему System.Boolean не поддерживает свойства MinValue/MaxValue, а поддерживает TrueString/FalseString.
// В C# нет произвольных типов Boolean!
bool b = 0; // Недопустимо!
bool b2 = -1; // Также недопустимо!
bool b3 = true; // Без проблем.
bool b4 = false; // Без проблем.
Console.WriteLine("-› bool.FalseString: {0}", bool.FalseString);
Console.WriteLine("-› bool.TrueString: {0}", bool.TrueString);
Члены System.Char
Текстовые данные в C# представляются встроенными типами данных string и char. Все .NET-языки отображают текстовые типы в соответствующие базовые типы (System.String и System.Char). Оба эти типа в своей основе используют Unicode.
Тип System.Char обеспечивает широкие функциональные возможности, далеко выходящие за рамки простого хранения символьных данных (которые, кстати, должны помещаться в одиночные кавычки). Используя статические методы System.Char, вы можете определить, является ли данный символ цифрой, буквой, знаком пунктуации или чем-то иным. Для иллюстрации рассмотрим следующий фрагмент программного кода.
static void Main(string[] args) {
…
// Проверьте работу следующих операторов…
Console.WriteLine("-› char.IsDigit('К'): {0}", char.IsDigit('К'));