C#/C# 문법

C# 환경설정, 프로젝트 생성

GREEN나무 2025. 5. 21. 19:40
728x90

설치

visual studio Community 2022 ( Community 최신버전 설치)

.net, 언리얼, 유니티 선택

 

시작하기

콘솔 앱 -> 경로, 파일명 지정,  체크해제 : 솔루션 및 프로젝트를 같은 디렉터리에 배치(D) (C#파일만 생기도록)

-> .NET 6.0 확인, 최상위 문 사용 안함 을 체크 ( 최상위 문은 .NET 9.0버전부터 있는 것인데 이번 학습에 사용하지 않음)

최상위 문 참고 : https://coding-abc.kr/151

 

최상위문 

더보기

최상위 문(Top-level statements) 기능의 활성화 여부에 따라 코드 작성 방식이 달라집니다.

 최상위 문 사용 (체크 안 함, 기본값)

최상위 문(Top-level statements) 기능을 사용하면 Main 메서드 없이도 프로그램의 진입점을 정의할 수 있습니다.
이 방식은 특히 간단한 콘솔 애플리케이션을 작성할 때 유용합니다.

예제 코드 (최상위 문 사용)

Console.WriteLine("Hello, World!");
  • Main 메서드를 명시적으로 작성하지 않아도 됩니다.
  • using 지시문도 생략 가능하며, 일부 using 문은 자동 포함됩니다.
  • 코드가 간결해지고 초보자가 빠르게 학습할 수 있도록 도와줍니다.

컴파일러 내부에서 변환되는 형태 (숨겨진 Main 메서드)

internal class Program
{
    private static void Main()
    {
        Console.WriteLine("Hello, World!"); // 파일에 이 코드만 있음
    }
}
 

즉, 최상위 문을 사용하면 컴파일러가 자동으로 Main 메서드를 생성해 줍니다.

 

 

 최상위 문 사용 안 함 (체크 O)

이 옵션을 활성화하면 기존의 전통적인 C# 방식대로 명시적인 Main 메서드가 필요합니다.

예제 코드 (최상위 문 사용 안 함)

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Hello, World!");
    }
}
  • Main 메서드를 명시적으로 작성해야 합니다.
  • using System; 등을 직접 추가해야 합니다.
  • 구조가 명확해지지만, 간단한 프로그램을 작성할 때는 코드가 길어질 수 있습니다.

 

언제 어떤 방식을 사용할까?

  최상위 문 사용 (체크 안 함) 최상위 문 사용 안 함 (체크 O)
장점 코드가 간결함, 초보자에게 유용 전통적인 명시적 구조, 복잡한 애플리케이션에 적합
단점 복잡한 프로그램에는 부적합 코드가 길어질 수 있음
추천 사용 사례 간단한 콘솔 앱, 교육용 프로젝트 대규모 프로젝트, 명확한 진입점이 필요한 경우
  • 간단한 콘솔 앱 → 최상위 문 사용 (체크 안 함)
  • 전통적인 방식이 필요한 경우 → 최상위 문 사용 안 함 (체크 O)

대부분의 경우 최상위 문을 사용하는 것이 코드가 간결해져서 유리하지만, 팀의 코드 스타일이나 프로젝트 성격에 따라 선택하면 됩니다.

 


프로젝트 생성 시 using이 없는 이유

전역using 에서 주로 사용되는 using을 이미 포함시켰습니다.

코드에는 없지만 이미 추가된 샹탸입니다.

 

프로젝트 > 속성 > 전역using

 

 


빌드

F6 이나 빌드메뉴나 초록색 세모(.csproj파일선택)

 

결과

"프로젝트\프로젝트명과똑같은파일\bin\Debug\net9.0\ConsoleApp1.exe" 실행파일 생성


자동완성 기능

namespace ConsoleApp1;

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

        //1. 클레스, 메서드, 변수 등의 이름을 입려할 때 일부를 입력하고 Tab 키를 누르면 자동완성이 됩니다.
        // Console.WriteLine()을 입력시 Console까지만 입력하고 Tab 키를 누르면 자동완성이 됩니다.
        Console.WriteLine("C#");

        // 메서드나 변수를 입력하는 도중에 Ctrl + Space를 눌러 IntelliSense를 호출하면, 해당 메서드나 변수에 대한 정보와 예제를 볼 수 있습니다.
        Console.WriteLine("IntelliSense");

        // 2. 코드 템플릿을 사용하여 코드를 빠르게 작성할 수 있습니다.
        // ex) for문 작성 시, for 키워드를 입력하고, 두번 tap키를 누르면 for문의 기본적인 코드 템플릿이 자동으로 생성됩니다.
        for (int i = 0; i < 10; i++)
        {
            Console.WriteLine(i);
        }
    }
}

 

메서드나 변수를 입력하는 도중에 Ctrl + Space를 눌러 IntelliSense를 호출

 

출력

Hello, World!
C#
IntelliSense
0
1
2
3
4
5
6
7
8
9

 


※Tip

◆ [주석의 종류]

주석의 종류에는 한줄 주석(//), 여러줄 주석(/**/), 자동완성 주석(///)이 있습니다. 

자동완성 주석은 사용하고자 하는 함수의 이름 위에 /// 를 치면 자동으로 입력됩니다.

 

◆  [주석 단축키]

맥에서는 Command + /

윈도우에서는 Ctrl + /

 

◆  터미널에서 .net 명령어 모음 보기

dotnet

 

◆  .csproj 파일이 손상되었거나 존재하지 않아 빌드가 되지 않는 경우에는 1. 파일을 백업하고, 2. 프로젝트를 생성니다.

실행 경로는 ~.csproj 파일이 있는 곳에서

PS V:\Sparta\sparta-C#\ConsoleApp1>

여기서 ConsoleApp1는 프로젝트 이름

1. 프로젝트 새로 생성하는 명령어 : dotnet new

2. 프로젝트 폴더 안의 프로젝터이름과 동일한 폴더 안에 ( cd 프로젝터이름)

3. .csproj파일 만들기 : dotnet restore

4. 빌드 : dotnet build

 

 

dotnet new console -n 프로젝트이름
cd 프로젝트이름  
dotnet restore
dotnet build

✅ 작업 절차 (한 줄 요약 포함)

1. 프로젝트 새로 생성

터미널 경로를 프로젝트를 만들고 싶은 상위 폴더에서 실행해야 합니다.

dotnet new console -n 프로젝트이름
  • -n 옵션은 프로젝트 이름 설정
  • 이 명령어는 프로젝트이름이라는 폴더를 만들고, 그 안에 .csproj 파일 포함한 기본 C# 콘솔 앱 파일들을 생성

2. 해당 프로젝트 폴더로 이동

cd 프로젝트이름
  • ConsoleApp1이 예시 프로젝트 이름이라면, cd ConsoleApp1 실행

3. 패키지 복원 (필수는 아님)

dotnet restore
  • .csproj에 명시된 NuGet 패키지(외부 라이브러리 등)를 복원
  • 최신 .NET SDK에서는 dotnet build 시 자동으로 restore가 되긴 함

4. 빌드 실행

dotnet build
  • 코드를 컴파일하고 실행 파일을 생성

🔁 전체 흐름 예시

dotnet new console -n ConsoleApp1
cd ConsoleApp1
dotnet restore
dotnet build