2017-04-19 5 views
-2

많은 줄을 인쇄하고 싶습니다. 각 줄은 문자열에 공백과 두 번째 문자열을 더한 것입니다.PadRight가 crlf가 잘 작동하지 않을 때

각 줄마다 두 번째 부분 문자열을 정렬하고 싶습니다. 그래서 저는 PadRight를 사용합니다; 그러나 그것은 잘 작동하지 않습니다.

코드 :

void Main() 
{ 
    var str ="Hellooooo".PadRight(50)+"Test"; 
    str += (Environment.NewLine+"World").PadRight(50)+"Test"; 
    str+= (Environment.NewLine+"Hello Worldoooooooo").PadRight(50)+"Test"; 
    Console.WriteLine(str); 
} 

출력은 1

당신은 세 가지 "테스트"를 볼 수 있습니다 좋아 수직으로 정렬되지 않습니다.

+0

live demo를 참조하십시오. 공백을 사용하여 실제로 정렬해야합니까? 콘솔의 출력이 아닌 경우. 스크린 샷이 다르게 보입니다. – CSharpie

답변

0

텍스트 공백을 정렬하려면 courier new와 같이 mono space font (모든 문자 폭은 동일)이 필요합니다.

Environment.NewLine 또한 두 번째 및 세 번째 문자열에는 있지만 첫 번째 문자열에는 없습니다.

Environment.NewLine을 고정하고, 고정 폭 글꼴을 사용하는 경우,이 작품 :

public static void Main() 
{ 
    var str ="Hellooooo".PadRight(50)+"Test"; 
    str += Environment.NewLine + ("World").PadRight(50)+"Test"; 
    str += Environment.NewLine + ("Hello Worldoooooooo").PadRight(50)+"Test"; 
    Console.WriteLine(str); 
} 

result

보통의 더 나은 더 테이블 친화적 인 컨트롤을 사용

+0

아니요, 모든 문자를 'o'로 변경했습니다. 같은 결과. 나는 LinqPad에 의해 그것을 테스트합니다. – Bigeyes

+0

공간이 같은 너비와 'o'가 아니므로 예? – Julian

+0

그래서 어떻게 정렬 할 수 있습니까? 문자열은 런타임에 생성됩니다. – Bigeyes

관련 문제