Console.ReadLine

Unity3D/C# 2018. 8. 22. 22:09
반응형

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
            Console.Write("직업을 선택하세요.");
            var input = Console.ReadLine();
            Console.Write(input + "을 선택 하셨습니다.");
            Console.ReadKey();
 
 
            //---------------- 1 -------------------------
            //직업을 선택하세요. {input}을 선택 하셨습니다. 
 
 
 
 
 
            //---------------- 2 -------------------------
            //직업을 선택하세요. 
            //{ input}을 선택 하셨습니다. 
cs


1번과 같이 예상 하였으나 2번처럼 출력되는 이유?


표준 입력 스트림에서 다음 줄의 문자를 읽습니다.


줄은 문자 뒤에 캐리지 리턴 (16 진수 0x000d), 줄 바꿈 (16 진수 0x000a) 또는 값의 시퀀스로 정의 됩니다는 Environment.NewLine 속성입니다.

그렇다면 마지막 줄바꿈 문자 Enter (16진수 0x000a)는 어디갔나?

반환 된 문자열에는 종결 문자가 없습니다. 

https://msdn.microsoft.com/ko-kr/library/system.console.readline(v=vs.110).aspx












\r캐리지 리턴0x000D


\n줄 바꿈0x000A

https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/strings/










Read 메서드는 입력된 문자를 입력 하는 동안 반환 차단; 키를 누르면를 종료 하는 Enter 키입니다. 플랫폼 종속 줄 종료 시퀀스를 입력 추가 Enter 키를 누르면 (예: Windows 캐리지 리턴-줄 바꿈 시퀀스 추가). 에 대 한 후속 호출에서 Read 메서드는 한 번에 사용자 입력된 한 문자를 검색 합니다. 마지막 문자를 검색 한 후 Read 반환 차단 다시 고 주기가 반복 합니다.

https://msdn.microsoft.com/ko-kr/library/system.console.read(v=vs.110).aspx

반응형

'Unity3D > C#' 카테고리의 다른 글

SOLID (객체 지향 설계)  (0) 2018.09.03
Stack & Heap  (0) 2018.08.30
float 의 기본값은 0.0f  (0) 2018.08.21
string의 기본값 null  (0) 2018.08.21
LinkedList  (0) 2016.03.19
: