오늘은 C# 언어를 사용해서 윈도우 프로그램을 만들기 위한 전 작업을 진행해보겠습니다.
- Visual Studio 다운로드 : https://visualstudio.microsoft.com/ko/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false
- Visual Studio Code 다운로드 : https://code.visualstudio.com/
저는 Visual Studio Code가 설치되어 있어 이 툴로 진행하겠습니다.
먼저 Visual Studio Code에서 확장 프로그램으로 이동해서 Microsoft 사에서 제공하는 C# 확장 프로그램을 설치해주세요.
그런 다음 .NET SDK를 설치해주세요.
- .NET SDK 다운로드 : https://dotnet.microsoft.com/ko-kr/download/dotnet
그리고 VScode 상단 바에서 Terminal을 실행해 작업을 원하는 폴더로 이동 후 작업환경세팅을 위해 아래 명령어를 입력해줍니다.
C:\Usera\user_a\workspace\new_project> dotnet new console
그러면 다음과 같이 작업 환경이 설정된 것을 확인할 수 있습니다.
그 다음 작업 환경을 세팅한 폴더를 VScode에서 열어주면 일부 파일이 생성된 것을 확인할 수 있습니다.
현재 상태에서 터미널에 "dotnet run" 명령어를 입력하고 엔터를 치면 현재 파일을 Top-level statements를 작성한 파일로 인식해 main method 없이도 실행하게 됩니다.
이는 간단한 테스트 및 파일 작성에 유용한 기능으로 .NET Core 3.0 이상부터 사용할 수 있으니 유의해주세요.
이제 다음과 같이 Program.cs 파일 내용을 수정해 간단하게 터미널로 입력 받고 그 값과 다른 값을 출력하는 예제를 만들어 테스트해보겠습니다.
using System.Runtime.CompilerServices;
namespace HelloWorld { // namespace를 정의하면 그 안에 있는 클래스나 메소드등을 다른 파일에서도 사용 가능하다.
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello World!"); // 터미널에 출력 후 라인을 변경
Console.WriteLine("What is Your Name?");
var name = Console.ReadLine(); // 터미널에 입력한 값을 줄 단위로 입력 받는다.
var currentDate = DateTime.Now; // 현재 시간 조회
// "$" 기호를 사용하면 문자열 보간 기능으로 문자열 안에 아래처럼 변수, 표현식 함수의 호출 결과를 직접 삽입하여 동적으로 문자열을 조합할 수 있는 기능이다.
Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!");
Console.Write($"{Environment.NewLine}Press any key to exit...");
Console.ReadKey(true); // 사용자가 특정 키를 누를 때까지 프로그램을 일시 정지한다. (false나 아무 인자도 주지 않을 경우 눌린 키를 화면에 표시한다)
}
}
}
파일 작성을 완료한 후 다시 "dotnet run" 명령어를 사용해 실행하면 아래처럼 작동하는 것을 확인할 수 있습니다!
VScode는 경량 코드 편집기로 전반적은 코드 수정 시에만 사용할 수 있고 화면 디자인을 해야한다면 처음부터 Visual Studio community를 사용하는 걸 추천드립니다.
감사합니다~
'C#' 카테고리의 다른 글
[C#][.NET] 윈도우 앱 포커스 (0) | 2024.03.25 |
---|---|
[C#][.NET Core] 윈도우 계산기 앱 만들기 (0) | 2024.03.15 |
[C#][Unity] 여러 오브젝트를 합쳐 프리팹 만들기 (0) | 2023.08.23 |
[C#][Unity] 더블클릭 이벤트로 오브젝트 변경하기 (0) | 2023.08.08 |
[C#][Unity] 내비게이션 시스템 (2) 동적 NavMeshLink 생성 (0) | 2023.08.03 |