@fleshik

Почему консольное приложение С# созданое в VS Code выглядит нестандартно?

Подскажите почему у меня консольное приложение имеет вот такой вид
Нарушение п.3.8 Регламента. Скриншоты фрагментов кода запрещены.

то есть всего одна строка в файле, но в других источниках я везде вижу этот файл вот таким
Нарушение п.3.8 Регламента. Скриншоты фрагментов кода запрещены.
почему у меня нет этих всех строк ?
  • Вопрос задан
  • 130 просмотров
Решения вопроса 2
Adler_lug
@Adler_lug
Прямо в первой же строке ссылка, по которой находится ответ на ваш вопрос.
Ответ написан
Комментировать
Из-за того что модератор вполне оправданно удалил скриншоты - предположу, что там был вот такой код:
Console.WriteLine("Hello World!");
А в большинстве руководств ты видишь примерно такой код:
using System;
using System.Collections.Generic;
using System.Linq;

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

VS Code тут ни при чём.
У тебя всего одна строчка кода и она при этом работает благодаря двум фичам, которые ввели в C# 9 и 10:
1. Top-level statements - позволяет не объявлять класс со статичным методом Main - вместо этого в одном любом из файлов можно сразу начать писать код для выполнения и компилятор будет считать код в этом файле за точку входа
https://learn.microsoft.com/en-us/dotnet/csharp/fu...
2. Global Using Directive - можно написать global using Namespace; и этот неймспейс будет неявно подключен ко всем файлам в проекте. Также можно написать <Using Include="Namespace" /> в csproj-файле для аналогичного эффекта. Некоторое количество таких глобальных включений уже настроено по-умолчанию на уровне SDK.
https://learn.microsoft.com/en-us/dotnet/csharp/la...

Соответственно в .NET 7 переделали шаблон на именно такой, чтобы упростить вход для новичков и приучить к новому стилю.
В других источниках ты видишь другой код, тк в тех источниках он был написан до выхода .NET 7.

Старый синтаксис никто не убирал - он всё ещё работает, если тебе очень нужно, но вот шаблон придётся установить отдельно, если ты хочешь, чтобы новые проекты создавались со старым синтаксисом.
(Но уверяю тебя - тебе это не нужно)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы