프로그래밍/C#

C#으로 기본 문자열 서식 지정

김꿀꿀이 2023. 3. 26. 22:23
반응형

 

https://learn.microsoft.com/ko-kr/training/modules/csharp-basic-formatting/?WT.mc_id=dotnet-35129-website

 

C#으로 기본 문자열 서식 지정 - Training

특수 문자, 서식, 유니코드로 채워진 리터럴 및 가변 텍스트 데이터를 최종 사용자에게 의미 있는 메시지로 결합합니다.

learn.microsoft.com

 

C#을 사용하여 첫 번째 코드 작성(C#로 시작, 파트 1)

- C#으로 기본 문자열 서식 지정 -

 

\n : 개행
\t : tab
\" (\'): String에 "(')을 저장 - \을 쓰지 않고 " or '를 쓰면 error
String에 \를 저장하려면 \\로 입력
@String : 입력한 그대로 String 저장 (\n를  사용하지 않고 enter 입력해도 입력한 그대로 String 저장됨)
\u : 유니코드 문자 입력 (만약 사용자 콘솔에서 해당 유니코드를 지원하지 않는다면 ??로 표시됨)

(유니코드 문자표는 아래 사이트 참고)
https://unicode.org/charts/

 

Unicode 15.0 Character Code Charts

Unicode 15.0 Character Code Charts Scripts   |   Symbols & Punctuation   |   Name Index Find chart by hex code:           Help    Conventions    Terms of Use Notational Systems Braille Patterns Musical Symbols Ancient Greek Musical Nota

unicode.org

 

* 입력한 String끼리 더하기 가능

code>
string firstName = "Bob";
string greeting = "Hello";
string message = greeting + " " + firstName + "!";
Console.WriteLine(message);

output>
Hello Bob!
code>
string firstName = "Bob"; 
string greeting = "Hello";
Console.WriteLine(greeting + " " + firstName + "!");

output>
Hello Bob!


String끼리 더할 때 위와 같이 코드를 작성하면 코드가 간결하지 않으므로
${ }를 사용하여 간결하게 작성가능함.
$를 앞에 붙이고 { } 사이에 string 변수를 적으면 일반문자열이 아니라 변수로 인식됨

string firstName = "Bob";
string message = $"Hello {firstName}!";
Console.WriteLine(message);

>> "+" 생략으로 코드 길이가 간결해짐

* 예제

 

* 작성코드

string projectName = "ACME";string russianMessage = "\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434";

Console.WriteLine($@"View English output:
   c:\Exercise\{projectName}\data.txt
");
Console.WriteLine($@"{russianMessage}:
   c:\Exercise\{projectName}\ru-RU\data.txt");

>> "c:\~" 의 왼쪽은 tab키 한번 누름
>> @를 써서 입력했으므로 보이는 그대로 입력해야 함

* 예제 답

string projectName ="ACME";
string englishLocation = $@"c:\Exercise\{projectName}\data.txt";
Console.WriteLine($"View English output:\n\t\t{englishLocation}\n");

string russianMessage ="\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434";
string russianLocation = $@"c:\Exercise\{projectName}\ru-RU\data.txt";
Console.WriteLine($"{russianMessage}:\n\t\t{russianLocation}\n");

난 마지막에 배운 걸 기준으로 최대한 $와@를 활용해서 작성한다고 작성했는데
예제 답은 이번 단원에 배웠던 걸 골고루 써서 코드를 작성했다.
아무래도 내가 작성한 코드는 줄 바꿈이나 공백까지 똑같이 하지 않으면 결과가 달라지므로
내가 생각해도 이후 학습 진행 시는 줄 바꿈이나 탭은 \n과 \t를 주로 쓸 것 같다.
(코드도 이쪽이 더 깔끔해 보인다)

사실 이번단원은 개발자 현역 시절에도 많이 안 쓰던 부분이라 (@나 $같은...)
예전 코딩 버릇이 남아있는 나로서는
활용을 많이 할지는 의문이긴 하지만 이런 스킬도 있구나 하고 배우게 된 시간이다.

반응형