다음을 통해 공유


더하기 연산자 - ++=

기본 제공 정수부동 소수점 숫자 형식, 문자열 형식 및 대리자 형식은 모두 ++= 연산자를 지원합니다.

C# 언어 참조는 가장 최근에 릴리스된 C# 언어 버전을 문서화합니다. 또한 예정된 언어 릴리스의 공개 미리 보기 기능에 대한 초기 설명서도 포함되어 있습니다.

설명서는 언어의 마지막 세 버전 또는 현재 공개 미리 보기에서 처음 도입된 기능을 식별합니다.

팁 (조언)

C#에서 기능이 처음 도입된 시기를 찾으려면 C# 언어 버전 기록에 대한 문서를 참조하세요.

산술 + 연산자에 대한 자세한 내용은 산술 연산자 문서의 단항 플러스 및 마이너스 연산자더하기 연산자 + 섹션을 참조하세요.

문자열 연결

하나 또는 두 피연산자가 문자열형식인 경우 연산자는 피연산자의 문자열 표현을 연결합니다( 문자열 표현은 빈 문자열임).

Console.WriteLine("Forgot" + "white space");
Console.WriteLine("Probably the oldest constant: " + Math.PI);
Console.WriteLine(null + "Nothing to add.");
// Output:
// Forgotwhite space
// Probably the oldest constant: 3.14159265358979
// Nothing to add.

문자열 보간은 문자열을 보다 편리하게 서식 지정할 수 있는 방법을 제공합니다.

Console.WriteLine($"Probably the oldest constant: {Math.PI:F2}");
// Output:
// Probably the oldest constant: 3.14

자리 표시자에 사용되는 모든 식이 상수 문자열인 경우 문자열 보간을 사용하여 상수 문자열을 초기화할 수 있습니다.

연산자는 + UTF-8 리터럴 문자열에 대한 문자열 연결을 수행합니다. 이 연산자는 두 개의 ReadOnlySpan<byte> 개체를 연결합니다.

대리자 조합

동일한 대리 자 형식 + 의 피연산자의 경우 연산자는 호출될 때 왼쪽 피연산자를 호출한 다음 오른쪽 피연산자를 호출하는 새 대리자 인스턴스를 반환합니다. 피연산자가 있으면 연산자는 null+ 다른 피연산자의 값(이 피연산자일 수도 있습니다null)을 반환합니다. 다음 예제에서는 연산자를 사용하여 + 대리자를 결합하는 방법을 보여 줍니다.

Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab();  // output: ab

대리자를 제거하려면 연산자를- 사용합니다.

대리자 형식에 대한 자세한 내용은 대리자참조하세요.

더하기 할당 연산자 +=

연산자를 사용하는 식(예: />)

x += y

다음과 같습니다.

x = x + y

단, x 한 번만 평가됩니다.

다음 예제에서는 += 연산자의 사용을 보여 줍니다.

int i = 5;
i += 9;
Console.WriteLine(i);
// Output: 14

string story = "Start. ";
story += "End.";
Console.WriteLine(story);
// Output: Start. End.

Action printer = () => Console.Write("a");
printer();  // output: a

Console.WriteLine();
printer += () => Console.Write("b");
printer();  // output: ab

또한 +=를 구독할 때, 연산자를 사용하여 이벤트 처리기 메서드를 지정합니다. 자세한 내용은 방법:이벤트 구독 및 구독 취소를 참조하세요.

연산자 오버로드 가능성

사용자 정의 형식은 연산자를 오버로드할 + 수 있습니다. 이진 + 연산자를 오버로드하는 경우 연산자를 암시적으로 오버로드합니다 += . C# 14부터 사용자 정의 형식은 보다 효율적인 구현을 제공하기 위해 운영자를 명시적으로 오버로드 += 할 수 있습니다. 일반적으로 형식은 추가 결과를 저장할 새 인스턴스를 할당하는 대신 값을 현재 위치에서 업데이트할 수 있기 때문에 연산자를 오버로드 += 합니다. 형식이 명시적 오버로드를 제공하지 않으면 컴파일러는 암시적 오버로드를 생성합니다.

C# 언어 사양

자세한 내용은 C# 언어 사양Unary plus 연산자더하기 연산자 섹션을 참조하세요. C# 14 이상에서 복합 할당 연산자를 오버로드하는 방법에 대한 자세한 내용은 사용자 정의 복합 할당 기능 사양을 참조하세요.

참고 사항