Tip
이 문서는 이미 하나 이상의 프로그래밍 언어를 알고 있으며 C#을 학습하는 개발자를 위한 기본 사항 섹션의 일부입니다. 프로그래밍을 처음 접하는 경우 먼저 시작 자습서로 시작 하세요. 전체 문 구문은 C# 언어 사양의 문을 참조하세요.
다른 언어에서 오시겠습니까? 선언, 조건, 루프 및 반환은 익숙할 수 있습니다. C#은 이 문서에서 소개하는 이러한 기능에 고유한 구문 및 분류를 사용합니다.
문은 완전한 명령입니다. "이것을 하라." 프로그램 안의 문들은 모여 프로그램이 처음부터 끝까지 따르는 레시피를 이룹니다. 대부분의 구문은 순차적으로 실행됩니다. 분기는 실행할 단계를 선택하고, 루프는 단계를 반복합니다.
이 예제에서는 수량을 선언하고 표시한 다음 문을 사용하여 if 재입고 여부를 결정합니다.
int quantity = 5;
Console.WriteLine($"Quantity: {quantity}"); // => Quantity: 5
if (quantity < 10)
{
quantity = 10;
Console.WriteLine("Restocked"); // => Restocked
}
Console.WriteLine($"Quantity: {quantity}"); // => Quantity: 10
해당 부분을 살펴보기 전에 예제를 전체 명령으로 읽어보십시오. 선언, 첫 번째 호출 Console.WriteLine, 전체 if 구문 및 마지막 호출 Console.WriteLine 은 문입니다. 문 내의 블록에는 if 두 개의 문이 더 포함되어 있습니다.
명령문에는 종종 식이 포함됩니다.
문에는 값을 생성하는 코드 조각인 식이 포함되어 있는 경우가 많습니다. 앞의 예제에서 전체 if 구문은 문입니다. 그 조건인 quantity < 10은(는) true 또는 false를 생성하는 표현식입니다.
선언문은 지역 변수 또는 상수에 대해 소개합니다. 이니셜라이저 식은 첫 번째 값을 제공할 수 있습니다.
int quantity = 5;
전체 줄은 선언문입니다. 이니셜라이저 5 는 해당 문 내의 식입니다.
할당 식은 변수, 속성, 인덱서 또는 기타 스토리지 위치에 값을 저장합니다. C#에서는 할당 식이 식 문을 형성하도록 허용합니다.
quantity = 10;
이 문은 단순히 값을 계산하는 대신 작업을 수행합니다. 메서드 호출과 증감 연산은 또 다른 일반적인 식 문장입니다:
Console.WriteLine("Restocking");
quantity++;
다음과 같은 표현식 형태만 표현식 문이 될 수 있습니다.
- 할당 표현식
- 메서드 호출 식
- 개체 생성 식
- 접두사 또는 접미사 증가 및 감소 식
-
await표현식
모든 식이 문으로 단독으로 설 수 있는 것은 아닙니다. 예를 들어 quantity + 1; 값을 계산하지만 사용하지 않습니다. 유효한 문장이 아닙니다.
다음은 유용한 편의상 정의입니다. statement는 영어에서 완전한 문장과 비슷한 반면, 식은 구와 비슷합니다. 이러한 구분은 설명서 및 사양에서 발생하는 공식적인 용어와 설명을 이해하는 데 도움이 되지만, 일반적인 코딩에서는 구분을 의식적으로 기억할 필요가 거의 없습니다.
문을 블록으로 묶기
블록은 중괄호와{})사이에 0개 이상의 문을 그룹화합니다. C#은 그룹을 하나의 문으로 처리합니다. 앞의 예제에서 if 문은 블록이 이들을 하나의 본문으로 묶기 때문에 할당과 Console.WriteLine 호출을 모두 실행할 수 있습니다. 블록은 다른 블록 안에 중첩될 수 있습니다.
Selection 및 반복 문은 본문을 포함된 문이라고 합니다. 해당 본문은 중괄호 없이 단일 문으로 이루어질 수도 있고, 여러 문을 묶는 블록일 수도 있습니다.
본문에 문이 하나만 포함된 경우에도 블록을 사용하는 것이 좋습니다. 중괄호는 어떤 문이 본문에 속하는지 보여 주며, 이후 편집 시 실수로 문이 본문 밖에 놓이는 것을 방지합니다.
블록은 변수의 유효 범위를 정의합니다.
블록에 선언된 변수는 해당 선언에서 해당 블록의 끝까지 범위에 있습니다. 중첩된 블록은 바깥쪽 블록에 의해 선언된 변수를 사용할 수 있지만, 바깥쪽 블록은 중첩된 블록에만 선언된 변수를 사용할 수 없습니다.
int outerValue = 10;
if (outerValue > 0)
{
int innerValue = outerValue * 2;
Console.WriteLine(innerValue); // => 20
}
// innerValue isn't in scope here.
작업용 문장을 선택하세요
문을 명령으로 인식한 후에는 용도에 따라 다양한 종류 중에서 선택할 수 있습니다.
- 데이터 선언:선언문은 지역 변수와 상수를 선언합니다.
- 작업 수행: 식 문은 값을 할당하거나, 메서드를 호출하거나, 개체를 만들거나, 값을 증가 또는 감소하거나, 비동기 작업을 대기합니다.
-
선택 단계:선택문(예:
if및switch)은 어떤 코드가 실행될지 결정합니다. -
반복 단계: 반복 문(예:
foreach,while및for문 또는 블록)을 반복합니다. -
제어 전송:점프 문, 즉
break,continue,return,yield와 같은 문은 실행 흐름을 다른 지점으로 이동시킵니다. -
예외 처리:예외 처리 문(예:
try,catch및throw오류에 응답하거나 오류를 보고)을 처리합니다. -
리소스 관리:이 문은
using리소스가 삭제되도록 합니다. -
특수한 동작 사용:
checked및unchecked,lock, 및fixed문은 특정 시나리오를 지원합니다.
C# 언어 사양
자세한 내용은 C# 언어 사양의 문 섹션을 참조하세요.
참고하십시오
.NET