그러고보니 이제 Hello, World 샘플이 바뀌어야 합니다. :-D

image

이 이미지에서 C#에 있는 Hello World 샘플 코드는 이제 한 줄로 쓰는 시대가 (공식적으로) 찾아왔네요. :thinking:

// Before C# 9
using System;

namespace Csharpv
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, world!");
        }
    }
}
// After C# 9
System.Console.WriteLine("Hello, world!");

그리고 @dimohy 님께서 말씀해주신대로

// After C# 10
Console.WriteLine("Hello, world!");

이와 같습니다. ㅎㅎ

image

12개의 좋아요
// After C# 10
Console.WriteLine("Hello, world!");

도 추가할 수 있을 것 같습니다. 약간의… 차이지만요;

6개의 좋아요

닷넷 6에서 콘솔 프로젝트 기준으로는 System 네임스페이스가 기본 포함되지는 않아서 빌드 오류가 생기네요.

혹시 어떻게 실행했을 때 System 네임스페이스를 참조하지 않고도 빌드가 되는지 알 수 있을까요?

3개의 좋아요

.NET 6 Preview 7이 설치 되어 있어야 합니다.

$ dotnet --version
6.0.100-preview.7.21379.14

이후 적절한 디렉토리에서 다음의 명령을 수행,

$ dotnet new console

다음의 Program.cs가 생성됨을 확인할 수 있습니다.

// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");

csproj의 구성은 유사합니다.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>
  </PropertyGroup>

</Project>

그런데 using System 없이 Console.WriteLine()에 접근되는 이유는 .NET 6 Preview 7이후 부터 타겟에 따라 적절하게 using이 포함된다고 합니다.

7개의 좋아요

그렇네요. 정확히 Preview 7부터 달라지는 부분이네요. :slight_smile:

7개의 좋아요