При написании программ на языке программирования C # вам всегда нужно писать много шаблонного кода – даже для простых консольных приложений. Представьте, что вы хотите написать код для проверки правильности работы библиотеки или API. Для этого вы можете написать консольное приложение, но вы, тем не менее, вынуждены следовать стандартной семантике C #. Вы должны написать свой код внутри метода Main.

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

Для работы с примерами кода, приведенными в этой статье, в вашей системе должна быть установлена ​​Visual Studio 2019. Если у вас еще нет копии, вы можете скачать Visual Studio 2019 здесь. Обратите внимание, что C # 9.0 доступен в Visual Studio 2019 версии 16.9 Preview 1 или более поздней версии, а также в пакете SDK для .NET 5.0.

Создание проекта консольного приложения .NET Core в Visual Studio

Прежде всего, давайте создадим проект консольного приложения .NET Core в Visual Studio. Предполагая, что в вашей системе установлена ​​Visual Studio 2019, выполните действия, описанные ниже, чтобы создать новый проект консольного приложения .NET Core в Visual Studio.

  1. Запустите интегрированную среду разработки Visual Studio.
  2. Нажмите «Создать новый проект».
  3. В окне «Создать новый проект» выберите «Консольное приложение (.NET Core)» из отображаемого списка шаблонов.
  4. Нажмите кнопку “Далее.
  5. В окне «Настроить новый проект» укажите имя и расположение для нового проекта.
  6. Щелкните “Создать”.

Мы будем использовать этот проект для работы с программами верхнего уровня в следующих разделах этой статьи.

Пример программы верхнего уровня в C # 9.0

Давайте посмотрим на пример до и после того, как программы верхнего уровня могут устранить шаблонный код. До операторов верхнего уровня в C # 9.0 это минимальный код, который вы должны написать для консольного приложения:

using System;
namespace IDG_Top_Level_Programs_Demo
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

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

using System;
Console.WriteLine("Hello World!");

В любом случае, когда программа будет запущена, вы увидите строку «Hello World!» отображается в окне консоли.

Использование методов в программах верхнего уровня в C # 9.0

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

System.Console.WriteLine(DisplayMessage("Joydip!"));
System.Console.Read();
static string DisplayMessage(string name)
{
    return "Hello, " + name;
}

Когда вы запустите вышеуказанную программу, вы должны увидеть вывод «Hello, Joydip!» появятся в окне консоли:

Использование классов в программах верхнего уровня в C # 9.0

Вы также можете использовать классы, структуры и перечисления в программах верхнего уровня. Следующий фрагмент кода показывает, как можно использовать классы в программах верхнего уровня.

System.Console.WriteLine(new Author().DisplayMessage("Joydip!"));
System.Console.Read();
public class Author
{
    public string DisplayMessage(string name)
    {
        return "Hello, " + name;
    }
}

Когда вы выполните указанную выше программу, результат будет аналогичен показанному на рисунке 1.

Как работают программы верхнего уровня в C # 9.0

Итак, как именно работают программы верхнего уровня? Что происходит за кулисами? Программы верхнего уровня – это, по сути, функция компилятора. Если вы не напишете шаблонный код, компилятор сгенерирует его за вас.

Обратитесь к следующему фрагменту кода, который мы написали ранее.

using System;
Console.WriteLine("Hello World!");

Код, показанный ниже (сгенерирован с использованием SharpLab онлайн) показывает, как будет выглядеть код, созданный компилятором.

using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Security;
using System.Security.Permissions;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.0.0")]
[module: UnverifiableCode]
[CompilerGenerated]
internal static class <Program>$
{
    private static void <Main>$(string[] args)
    {
        Console.WriteLine("Hello World!");
    }
}

Если вы посмотрите на код, созданный компилятором, вы увидите [CompilerGenerated] атрибут поверх статического класса, созданного компилятором.

Программы верхнего уровня – отличная новая функция в C # 9.0, благодаря которой компилятор автоматически генерирует шаблонный код для вас за кулисами. Программы верхнего уровня отлично подходят для простых программ, у которых не так много файлов и зависимостей. Обратите внимание, что только один файл в вашем приложении может использовать операторы верхнего уровня; в противном случае компилятор выдаст ошибку.

Одним из недостатков программ верхнего уровня является то, что, если вы новичок в C #, возможно, вы не сможете понять, что происходит в коде за кулисами. Для новичков лучше изучить C # с помощью метода Main и избегать операторов верхнего уровня, пока вы не поймете, как работает метод Main. Но те, кто освоил Main, найдут операторы верхнего уровня очень полезным ярлыком.

Как сделать больше на C #:

Авторские права © 2021 IDG Communications, Inc.


#Как #использовать #программы #верхнего #уровня #на

Source link