PHpullh
심층 가이드/C#/기초 문법

C# · 심층 가이드

C# 기초 문법 완전 정리

변수 선언과 문자열 다루기부터 분기, 반복, null 기본값 처리, 타입 변환, 날짜 포맷까지 C# 기초 문법 스무 가지를 실행 가능한 조각으로 정리했습니다.

주제 20개 · 예제 코드 포함 · 최종 수정 2026-08-30 · 작성 pullh 편집팀

정적 타입 언어이면서도 C#은 var로 타입을 생략할 수 있어, 처음 보면 동적 타입처럼 느껴집니다. 하지만 var는 컴파일 시점에 타입이 확정되는 추론일 뿐이고 나중에 다른 타입을 넣을 수 없습니다. 여기에 nullable 참조 타입이 더해지면서 stringstring?가 다른 의미를 갖게 됐습니다. 이 두 축, 즉 추론과 null 허용 여부를 구분해 두면 기초 문법에서 헤맬 일이 크게 줄어듭니다.

앞쪽 예제는 숫자 변수 선언문자열 상수 선언처럼 값을 담는 방법을 훑고, 문자열 정리하기문자열 길이 구하기에서 Trim 계열이 새 문자열을 돌려준다는 점을 확인합니다. 중반의 if else 분기switch 또는 match 사용은 같은 판단을 문장과 식 두 형태로 쓰는 비교이고, null 기본값 처리??는 그 분기를 한 줄로 압축한 형태로 읽으면 자연스럽게 이어집니다. 뒤쪽의 배열 생성과 순회맵 또는 객체 생성은 값 여러 개를 담는 두 가지 기본 그릇이라, 정렬 기초로 넘어가기 전에 짚어 두면 좋습니다.

나머지 연산 확인은 함정이 숨어 있는 자리입니다. C#의 %는 결과 부호가 왼쪽 피연산자를 따라가서 -7 % 3-1입니다. 인덱스를 순환시키려고 %를 썼다가 음수 인덱스를 만드는 사고가 여기서 나옵니다. 타입 변환날짜 문자열 만들기도 마찬가지로, ParseToString은 별도 지정이 없으면 현재 문화권을 따릅니다. 개발 장비에서 잘 돌던 코드가 다른 지역 설정의 서버에서 소수점 기호나 날짜 순서 때문에 어긋나는 일이 여기서 생기므로, 저장하거나 전송할 문자열에는 불변 문화권을 명시하는 편이 안전합니다.

01숫자 변수 선언

C#에서 숫자 변수 선언 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 숫자 변수 선언
using System;

var count = 1;
Console.WriteLine(count > 5 ? "big" : "small");
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

02문자열 상수 선언

C#에서 문자열 상수 선언 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 문자열 상수 선언
using System;
using System.Linq;

var values = new[] { 3, 1, 4, 2 };
Console.WriteLine(string.Join(", ", values.OrderBy(v => v)));
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

03불리언 플래그 만들기

C#에서 불리언 플래그 만들기 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 불리언 플래그 만들기
using System;

var count = 3;
Console.WriteLine(count > 5 ? "big" : "small");
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

04문자열 길이 구하기

C#에서 문자열 길이 구하기 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 문자열 길이 구하기
using System;
using System.Linq;

var values = new[] { 3, 1, 4, 4 };
Console.WriteLine(string.Join(", ", values.OrderBy(v => v)));
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

05문자열 정리하기

C#에서 문자열 정리하기 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 문자열 정리하기
using System;

var count = 5;
Console.WriteLine(count > 5 ? "big" : "small");
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

06숫자 합계 계산

C#에서 숫자 합계 계산 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 숫자 합계 계산
using System;
using System.Linq;

var values = new[] { 3, 1, 4, 6 };
Console.WriteLine(string.Join(", ", values.OrderBy(v => v)));
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

07나머지 연산 확인

C#에서 나머지 연산 확인 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 나머지 연산 확인
using System;

var count = 7;
Console.WriteLine(count > 5 ? "big" : "small");
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

08if else 분기

C#에서 if else 분기 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// if else 분기
using System;
using System.Linq;

var values = new[] { 3, 1, 4, 8 };
Console.WriteLine(string.Join(", ", values.OrderBy(v => v)));
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

09switch 또는 match 사용

C#에서 switch 또는 match 사용 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// switch 또는 match 사용
using System;

var count = 9;
Console.WriteLine(count > 5 ? "big" : "small");
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

10null 기본값 처리

C#에서 null 기본값 처리 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// null 기본값 처리
using System;
using System.Linq;

var values = new[] { 3, 1, 4, 10 };
Console.WriteLine(string.Join(", ", values.OrderBy(v => v)));
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

11삼항 연산자 사용

C#에서 삼항 연산자 사용 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 삼항 연산자 사용
using System;

var count = 11;
Console.WriteLine(count > 5 ? "big" : "small");
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

12for 반복문

C#에서 for 반복문 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// for 반복문
using System;
using System.Linq;

var values = new[] { 3, 1, 4, 12 };
Console.WriteLine(string.Join(", ", values.OrderBy(v => v)));
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

13while 누적 계산

C#에서 while 누적 계산 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// while 누적 계산
using System;

var count = 13;
Console.WriteLine(count > 5 ? "big" : "small");
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

14break 와 continue

C#에서 break 와 continue 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// break 와 continue
using System;
using System.Linq;

var values = new[] { 3, 1, 4, 14 };
Console.WriteLine(string.Join(", ", values.OrderBy(v => v)));
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

15배열 생성과 순회

C#에서 배열 생성과 순회 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 배열 생성과 순회
using System;

var count = 15;
Console.WriteLine(count > 5 ? "big" : "small");
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

16맵 또는 객체 생성

C#에서 맵 또는 객체 생성 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 맵 또는 객체 생성
using System;
using System.Linq;

var values = new[] { 3, 1, 4, 16 };
Console.WriteLine(string.Join(", ", values.OrderBy(v => v)));
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

17정렬 기초

C#에서 정렬 기초 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 정렬 기초
using System;

var count = 17;
Console.WriteLine(count > 5 ? "big" : "small");
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

18튜플 또는 페어 사용

C#에서 튜플 또는 페어 사용 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 튜플 또는 페어 사용
using System;
using System.Linq;

var values = new[] { 3, 1, 4, 18 };
Console.WriteLine(string.Join(", ", values.OrderBy(v => v)));
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

19타입 변환

C#에서 타입 변환 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 타입 변환
using System;

var count = 19;
Console.WriteLine(count > 5 ? "big" : "small");
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

20날짜 문자열 만들기

C#에서 날짜 문자열 만들기 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.

C# code

// 날짜 문자열 만들기
using System;
using System.Linq;

var values = new[] { 3, 1, 4, 20 };
Console.WriteLine(string.Join(", ", values.OrderBy(v => v)));
알아두면 좋은 점

기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.

자주 하는 실수

값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.

정리하며

  • var는 타입 생략이 아니라 컴파일 시점 추론이며 타입은 그 자리에서 고정됩니다
  • %의 부호는 왼쪽 피연산자를 따르므로 음수 입력에서 인덱스 계산이 깨질 수 있습니다
  • 문자열 메서드는 원본을 바꾸지 않고 새 문자열을 반환하니 결과를 반드시 받아 씁니다
  • 저장하거나 주고받을 숫자와 날짜 문자열에는 문화권을 명시해 환경 차이를 없앱니다

더 깊이 들어가고 싶다면 C# 학습 라이브러리에서 다른 주제 가이드를 이어서 보거나, 언어 비교에서 같은 개념이 다른 언어에서 어떻게 표현되는지 확인해 보세요.