01 Hello World

vencott·2021년 6월 2일
0

C#

목록 보기
1/32

C# 이란?

마이크로소프트에서 개발된 객체 지향 프로그래밍 언어

.NET Framework을 이용하여 프로그래밍하는 대표적인 언어

윈도우/웹/게임/모바일 등 다양한 영역에서 활용 가능

C# 프로그램

C# 프로그램은 .cs라는 확장자를 사용한다

C++과 다르게 xxx.h와 같은 헤더파일이 없다

C# 프로그램에서 실행 파일을 만드는 방법

  • Visual Studio를 사용해 C# 프로젝트 빌드
  • .NET Framework에서 제공되는 C# 컴파일러인 csc.exe를 이용

Hello World!

using System;

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

모든 C# 프로그램에는 Main()이라는 시작 함수를 가져야 한다

Main()은 임의의 클래스 안에 존재하며 프로그램 상에 단 1개만 있어야 한다

Main()은 static으로 선언되며, 인자로 String[] args를 받는다

데이터 타입

.NET의 모든 프로그래밍 언어는 .NET의 Common Type System에 정의된 .NET 데이터 타입을 이용한다

C#의 경우 int, double, string과 같은 C# 키워드로 데이터 타입을 표현할 수 있으나 컴파일 시 내부적으로 .NET 데이터 타입으로 변경한다

C# 리터럴 타입

C# 코드에서 123, true, "hello"와 같이 값을 직접 쓰는 것을 리터럴(Literal)이라 한다

특정 데이터 타입을 지정하고 싶을 경우, 접미사(Suffix)를 추가한다

1024L -> long
10.24F -> float

NULL

어떤 변수가 메모리 상에 어떤 데이터도 가지고 있지 않다는 의미

C#의 데이터 타입은 NULL을 가질 수 있는 타입(Reference 타입)과 가질 수 없는 타입(Value 타입)으로 구분된다

string s;
s = null;

Nullable Type

int나 DateTime과 같은 Value Type은 NULL을 가질 수 없다

하지만 C# 2.0부터 이러한 타입들에 NULL을 가질 수 있게 한 것이 Nullable Type이다

물음표(?)를 Value Type 뒤에 붙이면 Nullable Type이 되고 컴파일 시 .NET의 Nullable 타입으로 변환된다

Nullable 타입을 Value 타입으로 변환하려면 Nullable의 .Value 속성을 사용한다

// Nullable 타입
int? i = null;
i = 100;

//int? 를 int로 할당
Nullable<int> j = null;
j = 10;
int k = j.Value;

출처: http://www.csharpstudy.com/

profile
Backend Developer

0개의 댓글