Section 16.4: 식별자 (identifier) 내에서 이스케이프 시퀀스 (escape sequence) 사용하기

이스케이프 시퀀스 (escape sequence) 의 사용은 비단 문자열 혹은 문자 리터럴 내에만 국한되지는 않는다.

아래와 같은 서드 파티 메소드를 override 해야 하는 경우:

protected abstract IEnumerable<Texte> ObtenirŒuvres();

사용자의 C# 소스 파일의 문자 인코딩 내에서 Œ 와 같은 문자가 지원되지 않는다고 한다면, 문제가 될 수 있을 것이다. 이러한 경우, 사용자는 \u#### 혹은 \U######## 와 같은 형식의 이스케이프 시퀀스를 식별자 내에서 사용하여, 아래와 같은 코드를 대신 작성할 수 있을 것이다:

protected override IEnumerable<Texte> Obtenir\u0152uvres() { // ... }

이 경우 C# 컴파일러는 Œ\u0152 를 동일한 문자로 처리해줄 수 있을 것이다.

(그러나 이런 방법이 있다 하더라도, 모든 문자 종류를 지원할 수 있는 UTF-8 이나 유사한 인코딩을 사용하는 것이 더 좋을 것이다.)

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

Section 16.3: 문자 리터럴에서 특수 문자 escape 처리하기

어포스트로피 문자

char apostrophe = '\'';

역슬래시 문자

char oneBackslash = '\\';
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

Section 16.2: 문자열에서 유니코드 문자를 처리하기 위한 이스케이프 시퀀스 (escape sequence)

string sqrt = "\u221A"; // √ string emoji = "\U0001F601"; // 😁 string text = "\u0022Hello World\u0022"; // "Hello World" string variableWidth = "\x22Hello World\x22"; // "Hello World"
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

Section 16.1: 문자열 리터럴 (literal) 내의 특수 문자를 escape 처리하기

역슬래시

// 아래 두가지의 경우 모두 filename 은 c:\myfile.txt 가 될 것이다 string filename = "c:\\myfile.txt"; string filename = @"c:\myfile.txt";

두번째 예제는 축자 (verbatim) 문자열 리터럴을 사용하는 예제로써, 역슬래시 문자를 escape 문자로 취급하지 않는다.

따옴표

string text = "\"Hello World!\", said the quick brown fox."; string verbatimText = @"""Hello World!"", said the quick brown fox.";

위 두가지 변수는 모두 아래와 같은 동일한 문자열을 가지게 될 것이다.

"Hello World!", said the quick brown fox.

개행 문자

축자 문자열 리터럴 안에는 개행 문자를 포함시킬 수 있다:

string text = "Hello\r\nWorld!"; string verbatimText = @"Hello World!";

위 두가지 변수는 모두 아래와 같은 동일한 문자열을 가지게 될 것이다.

Hello World!
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

Section 15.5: 보간 문자열의 간단한 사용 예

var name = "World"; var str = $"Hello, {name}!"; //str 의 내용은 이제 다음과 같다: "Hello, World!";

내부적인 동작 설명

아래와 같은 구문을 사용하는 경우,

$"Hello, {name}!"

이는 내부적으로 다음과 유사한 형태로 컴파일될 것이다:

string.Format("Hello, {0}!", name);
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

Section 15.4: 보간 문자열 내의 숫자 서식 지정하기

Colon (:) 구두점과 표준 숫자 서식 문법을 이용하여 보간 문자열 내의 숫자들이 어떻게 표시되어야 하는지를 제어할 수 있다.

var decimalValue = 120.5; var asCurrency = $"It costs {decimalValue:C}"; // 문자열의 내용은 "It costs $120.50" 가 될 것이다 (사용자의 로컬 통화 설정에 따라 다를 수 있음) var withThreeDecimalPlaces = $"Exactly {decimalValue:F3}"; // 문자열의 내용은 "Exactly 120.500" 이 될 것이다 var integerValue = 57; var prefixedIfNecessary = $"{integerValue:D5}"; // 문자열의 내용은 "00057" 이 될 것이다

.NET Fiddle 에서 라이브 데모 확인하기

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

Section 15.3: 보간 문자열 내에서의 표현식 사용

보간 문자열 (interpolated string) 에는 모든 형태의 표현식을 (full expression) 그대로 사용할 수 있다.

var StrWithMathExpression = $"1 + 2 = {1 + 2}"; // -> "1 + 2 = 3" string world = "world"; var StrWithFunctionCall = $"Hello, {world.ToUpper()}!"; // -> "Hello, WORLD!"

.NET Fiddle 에서 라이브 데모 확인하기

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

Section 15.2: 출력 결과에 여백문자 추가하기 (padding)

문자열의 서식을 지정할 때에는 삽입될 문자열이 몇개의 글자 공간만큼을 사용할지에 대한 여백 문자 추가 파라미터 (padding parameter) 를 기술할 수 있게 되어 있다:

${value, padding}

주의: 양수의 padding 값은 왼쪽에 여백문자를 추가하는 경우이며 음수의 padding 값은 오른쪽에 여백문자를 추가하는 경우이다.

좌측 여백문자 삽입 (Left Padding)

좌측 여백문자 삽입값을 5 로 지정하는 예제 (number 변수의 값 앞에 3개의 공백 문자를 추가하여, 총 글자 공간이 5 인 결과 문자열을 생성한다):

var number = 42; var str = $"The answer to life, the universe and everything is {number, 5}."; // 결과 : "The answer to life, the universe and everything is 42."; // ^^^^^ Console.WriteLine(str);

출력 결과:

The answer to life, the universe and everything is    42.

.NET Fiddle 에서 라이브 데모 확인하기

우측 여백문자 삽입 (Right Padding)

음수의 padding 값을 사용하는 우측 여백문자 삽입 기능은, 현재 삽입하고자 하는 값 끝에 공백 문자를 추가한다.

var number = 42; var str = $"The answer to life, the universe and everything is ${number, -5}."; // 결과 : "The answer to life, the universe and everything is 42 "; // ^^^^^ System.Console.WriteLine(str);

출력 결과:

The answer to life, the universe and everything is 42   .

.NET Fiddle 에서 라이브 데모 확인하기

서식 지정자를 이용하여 여백 문자 추가하기

기존에 사용하던 서식 지정자를 여백 문자 채워넣기 기능 (padding) 과 함께 사용할 수 있다.

var number = 42; var str = $"The answer to life, the universe and everything is {number, 5:f1}."; // 결과 : "The answer to life, the universe and everything is  42.0."; // ^^^^^ Console.WriteLine(str);

.NET Fiddle 에서 라이브 데모 확인하기

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts