Рейтинговые книги
Читем онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 51 52 53 54 55 56 57 58 59 ... 642

Не вдаваясь глубоко в детали классов System.Object и System.ValueType, важно уяснить, что поскольку любое ключевое слово C# (скажем, int) представляет собой просто сокращенное обозначение соответствующего системного типа (в данном случае System.Int32), то приведенный ниже синтаксис совершенно законен. Дело в том, что тип System.Int32 (int в С#) в конечном итоге является производным от класса System.Object и, следовательно, может обращаться к любому из его открытых членов, как продемонстрировано в еще одной вспомогательной функции:

static void ObjectFunctionality()

{

  Console.WriteLine("=> System.Object Functionality:");

<b>  // Ключевое слово int языка C# - это в действительности сокращение для</b>

<b>  // типа System.Int32, который наследует от System.Object следующие члены:</b>

  Console.WriteLine(&quot;12.GetHashCode() = {0}&quot;, 12.GetHashCode());

  Console.WriteLine(&quot;12.Equals(23) = {0}&quot;, 12.Equals(23));

  Console.WriteLine(&quot;12.ToString() = {0}&quot;, 12.ToString());

  Console.WriteLine(&quot;12.GetType() = {0}&quot;, 12.GetType());

  Console.WriteLine();

}

Вызов метода ObjectFunctionality() внутри Main() дает такой вывод:

=&gt; System.Object Functionality:

12.GetHashCode() = 12

12.Equals(23) = False

12.ToString() = 12

12.GetType() = System.Int32

Члены числовых типов данных

Продолжая эксперименты со встроенными типами данных С#, следует отметить, что числовые типы .NET Core поддерживают свойства MaxValue и MinValue, предоставляющие информацию о диапазоне значений, которые способен хранить конкретный тип. В дополнение к свойствам MinValue и MaxValue каждый числовой тип может определять собственные полезные члены. Например, тип System.Double позволяет получать значения для бесконечно малой (эпсилон) и бесконечно большой величин (которые интересны тем, кто занимается решением математических задач). В целях иллюстрации рассмотрим следующую вспомогательную функцию:

static void DataTypeFunctionality()

{

  Console.WriteLine(&quot;=&gt; Data type Functionality:&quot;);

  Console.WriteLine(&quot;Max of int: {0}&quot;, int.MaxValue);

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  Console.WriteLine(&quot;Min of int: {0}&quot;, int.MinValue);

  Console.WriteLine(&quot;Max of double: {0}&quot;, double.MaxValue);

  Console.WriteLine(&quot;Min of double: {0}&quot;, double.MinValue);

  Console.WriteLine(&quot;double.Epsilon: {0}&quot;, double.Epsilon);

  Console.WriteLine(&quot;double.PositiveInfinity: {0}&quot;,

    double.PositiveInfinity);

  Console.WriteLine(&quot;double.NegativeInfinity: {0}&quot;,

    double.NegativeInfinity);

  Console.WriteLine();

}

В случае определения литерального целого числа (наподобие 500) исполняющая среда по умолчанию назначит ему тип данных int. Аналогично литеральное число с плавающей точкой (такое как 55.333) по умолчанию получит тип double. Чтобы установить тип данных в long, используйте суффикс l или L (4L). Для объявления переменной типа float применяйте с числовым значением суффикс f или F (5.3F), а для объявления десятичного числа используйте со значением с плавающей точкой суффикс m или М (300.5М). Это станет более важным при неявном объявлении переменных, как будет показано позже в главе.

Члены System.Boolean

 Рассмотрим тип данных System.Boolean. К допустимым значениям, которые могут присваиваться типу bool в С#, относятся только true и false. С учетом этого должно быть понятно, что System.Boolean не поддерживает свойства MinValue и MaxValue, но вместо них определяет свойства TrueString и FalseString (которые выдают, соответственно, строки &quot;True&quot; и &quot;False&quot;).

Вот пример:

Console.WriteLine(&quot;bool.FalseString: {0}&quot;, bool.FalseString);

Console.WriteLine(&quot;bool.TrueString: {0}&quot;, bool.TrueString);

Члены System.Char

Текстовые данные в C# представляются посредством ключевых слов string и char, которые являются сокращенными обозначениями для типов System.String и System.Char (оба основаны на Unicode). Как вам уже может быть известно, string представляет непрерывное множество символов (например, &quot;Hello&quot;), a char — одиночную ячейку в string (например, 'Н').

1 ... 51 52 53 54 55 56 57 58 59 ... 642
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Похожие на Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю книги

Оставить комментарий