2012-03-19 5 views
8
while (rdr.Read()) 
{ 
    Console.WriteLine("Product: {0,-35} Total: {1,2}", rdr["ProductName"], rdr["Total"]); 
} 

이 코드에서 {0, -35}의 의미는 무엇입니까?C# 문자열에서 중괄호는 무엇을 의미합니까?

+0

이해할 수없는 코드를 사용하는 것은 현명하지 않습니다. 이 코드를 어디에서 찾았는지, 저자에게 묻습니다. –

답변

7

더 간단한 라인은 다음과 같습니다

Console.WriteLine("{0}", 5); 

함수는 인수의 수를 받아들입니다. 해당 색인의 문자열에 삽입됩니다. 이 경우 색인 0은 정수 5를 보유합니다. 결과는 문자열 "5"입니다.

이제 형식 문자열과 인덱스를 지정할 수있는 옵션이 있습니다. 그래서 같이 :

Console.WriteLine("{0:0.00}", 5); 

5.00 결과 0.005 포맷합니다.

숫자의 경우는 그렇지만 설명하기가 쉽습니다. 문자열의 경우 "형식"은 정렬을 의미합니다. 또한 콜론 대신 쉼표를 사용하여 색인과 형식을 구분하십시오.

정렬 (선택 사항) : 이것은 문자열의 최소 길이를 나타냅니다. Postive 값의 경우 문자열 인수가 오른쪽 정렬되며 문자열의 길이가 충분하지 않으면 문자열 왼쪽에 의 공백이 채워집니다. 음수 값이면 문자열 인수는 으로 남게되고 문자열의 길이가 충분하지 않으면 오른쪽에 공백이 채워집니다. 이 값을 지정하지 않으면 문자열 인수의 길이를 기본값 인 으로 설정합니다. 그래서 예에서

:

  • {0,-35} 문자열이 적어도 35 자, leftjustified (끝 부분에 공간 패딩)이어야 의미한다.
  • {1,2}은 문자열이 최소 2 자 이상이어야 함을 의미합니다 (정면의 스페이스 패딩).

this articlestring.Format documentation을 권장합니다.

7

이러한 대괄호는 값의 문자열에있는 자리 표시 자입니다.

따라서 rdr["ProductName"]은 문자열의 첫 번째 대괄호로 포맷됩니다. 그리고 rdr["Total"]은 문자열의 두 번째 괄호에 서식이 지정됩니다. 제공

이 :

다음
rdr["ProductName"] = "My Product"; 
rdr["Total"] = 2.98; 

당신은 콘솔로 출력 :

제품 : 총 내 제품 : 질문 업데이트 후 2.98

:

정렬 목적으로부분. 서식 지정 및 맞춤에 대한 추가 정보 on C#'s official documentation.

+0

답장을 보내 주셔서 감사합니다. 그러나 여기서 0, -35 및 1,2는 무엇을 의미합니까? – rosebrit3

+0

문자열의 경우 정렬을위한 정보입니다. –

3

그것은 오른쪽이나 왼쪽 사용 정적 메소드 및 String.format에 문자열을 정렬하려면 스페이스

으로 정렬 문자열입니다. 문자열을 왼쪽 (오른쪽 공백)에 맞추려면 쉼표 (,)와 음수의 문자열 : String.Format ("{0, -10}", text)을 사용하여 서식 지정 Patern을 사용하십시오. 오른쪽 정렬하려면 양수를 사용하십시오 : {0,10}.

는 그 {} 브라켓이 문자열 목적을 포맷하는

http://www.csharp-examples.net/align-string-with-spaces/

+0

-1 jusify –

+0

지금 업데이트되었습니다. -1 : – rosebrit3

+0

이것은 절반의 답변입니다. 예,'-35'는 정렬을위한 것이지만, 이것은 포맷 문자열 자리 표시 자의 유일한 목적이 아닙니다. – Joey

2

를 보라. 예를 들어, 귀하의 경우 rdr [ "ProductName"] 은 {0, -35} 형식 지정자를주었습니다 ... 오른쪽으로 채워진 공백으로 정렬됩니다.

6

같은 문자열은 문자열과 같습니다.

0에서 시작하는 중괄호 안의 첫 번째 숫자는 형식의 형식 항목이며 복합 형식 문자열 뒤에 오는 인수의 위치에 해당합니다. 이 번호 뒤에는 쉼표 (,)와 minimum width을 붙일 수 있습니다.

최소 너비는 열 정렬에 유용합니다. 값이 음수이면 결과는 왼쪽 정렬됩니다. 그렇지 않으면 오른쪽 정렬됩니다. 에서

Console.WriteLine("Product: {0,-35} Total: {1,2}", "1stProduct", 99); 
Console.WriteLine("Product: {0,-35} Total: {1,2}", "SecondProduct", 111); 

결과 : 예를 들어

Product: 1stProduct       Total: 99 
Product: SecondProduct      Total: 111 

당신은 우리가 제품 이름을 35 문자의 최소 폭을 지정했기 때문에, 그들은 항상 적어도 많은 공간이를 차지할 것을 알 수 있습니다 결과 길이는 실제 길이와 관계없이 각각 위의 예에서 각각 10과 13입니다. -35 (음수)을 지정 했으므로 제품 이름은 왼쪽으로 맞 춥니 다.

관련 문제