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

e format: 9.999900e+004

X format: 1869F

x format: 1869f

В дальнейшем будут встречаться и другие примеры форматирования; если вас интересуют дополнительные сведения о форматировании строк, тогда обратитесь в документацию по .NET Core (

https://docs.microsoft.com/ru-ru/dotnet/standard/base-types/formatting-types
).

Форматирование числовых данных за рамками консольных приложений

Напоследок следует отметить, что применение символов форматирования строк не ограничено консольными приложениями. Тот же самый синтаксис форматирования может быть использован при вызове статического метода

string.Format()
. Прием удобен, когда необходимо формировать выходные текстовые данные во время выполнения в приложении любого типа (например, в настольном приложении с графическим пользовательским интерфейсом, веб-приложении ASP.NET Core и т.д.).

Метод

string.Format()
возвращает новый объект
string
, который форматируется согласно предоставляемым флагам. Приведенный ниже код форматирует строку с шестнадцатеричным представлением числа:

// Использование string.Format() для форматирования строкового литерала.

 string userMessage = string.Format("100000 in hex is {0:x}", 100000);

Работа с системными типами данных и соответствующими ключевыми словами C#

Подобно любому языку программирования для фундаментальных типов данных в C# определены ключевые слова, которые используются при представлении локальных переменных, переменных-членов данных в классах, возвращаемых значений и параметров методов. Тем не менее, в отличие от других языков программирования такие ключевые слова в C# являются чем-то большим, нежели просто лексемами, распознаваемыми компилятором. В действительности они представляют собой сокращенные обозначения полноценных типов из пространства имен

System
. В табл. 3.4 перечислены системные типы данных вместе с их диапазонами значений, соответствующими ключевыми словами C# и сведениями о совместимости с общеязыковой спецификацией (CLS). Все системные типы находятся в пространстве имен System, которое ради удобства чтения не указывается.

Язык программирования C#9 и платформа .NET5 - _028.png

На заметку! Вспомните из главы 1, что совместимый с CLS код .NET Core может быть задействован в любом другом управляемом языке программирования  .NET Core. Если в программах открыт доступ к данным, не совместимым с CLS, тогда другие языки .NET Core могут быть не в состоянии их использовать.

Объявление и инициализация переменных

Для объявления локальной переменой (например, переменной внутри области видимости члена) необходимо указать тип данных, за которым следует имя переменной. Создайте новый проект консольного приложения по имени

BasicDataTypes
и добавьте его в свое решение с применением следующих команд:

dotnet new console -lang c# -n BasicDataTypes -o .\BasicDataTypes -f net5.0

dotnet sln .\Chapter3_AllProjects.sln add .\BasicDataTypes

Обновите код, как показано ниже:

using System;

using System.Numerics;

Console.WriteLine("***** Fun with Basic Data Types *****\n");

Теперь добавьте статическую локальную функцию

LocalVarDeclarations()
и вызовите ее в операторах верхнего уровня:

static void LocalVarDeclarations()

{

  Console.WriteLine("=> Data Declarations:");

<b>  // Локальные переменные объявляются так:</b>

<b>  // типДанных имяПеременной;</b>

  int myInt;

  string myString;

  Console.WriteLine();

}

Имейте в виду, что использование локальной переменной до присваивания ей начального значения приведет к ошибке на этапе компиляции. Таким образом, рекомендуется присваивать начальные значения локальным переменным непосредственно при их объявлении, что можно делать в одной строке или разносить объявление и присваивание на два отдельных оператора кода.

static void LocalVarDeclarations()

{

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

<b>  // Локальные переменные объявляются и инициализируются так:</b>

<b>  // типДанных имяПеременной = начальноеЗначение;</b>

  int myInt = 0;

<b>  // Объявлять и присваивать можно также в двух отдельных строках.</b>

  string myString;

  myString = &quot;This is my character data&quot;;

  Console.WriteLine();

}

Кроме того, разрешено объявлять несколько переменных того же самого типа в одной строке кода, как в случае следующих трех переменных

bool
:

static void LocalVarDeclarations()

{

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

  int myInt = 0;

  string myString;

  myString = &quot;This is my character data&quot;;

<b>  // Объявить три переменных типа bool в одной строке.</b>

  bool b1 = true, b2 = false, b3 = b1;

  Console.WriteLine();

}

Поскольку ключевое слово

bool
в C# — просто сокращенное обозначение структуры
System.Boolean
, то любой тип данных можно указывать с применением его полного имени (естественно, то же самое касается всех остальных ключевых слов С#, представляющих типы данных). Ниже приведена окончательная реализация метода
LocalVarDeclarations()
, в которой демонстрируются разнообразные способы объявления локальных переменных: