문제

중복 : 문자열 출력 : C#의 형식 또는 동의?

특히 C# World를 사용하는 C# World에서 string.format은 일반적으로 vb.net 개발자로서 실제로 일반적으로 일반적입니다.

나는 다음과 같은 정상 문자열 연결을 선호합니다.

V1 = V2 & "test-x" & V3 & "-;"

나에게 이것은 이것보다 낫다 :

V1 = String.Format("{0} test-x {1} -;", V2, V3)

내가 뭔가를 놓치고 있습니까? 아니면 이것은 단지 개인적인 취향입니까?

string.format을 사용하는 이유 (답변) (나는 이것을 최신 상태로 유지하려고 노력할 것이다)

  • 문자열 형식을 사용하면 현지화가 훨씬 쉽습니다.
  • 분명히 입력 형식을 변경하는 것이 더 쉽습니다.
  • 더 읽기 쉽다 (그러나 이것은 개인적입니다)
  • 더 나은 성능

** 때로는 스타일을 변경하거나 재료를 동적으로 교체해야합니다.

도움이 되었습니까?

해결책

신청서를 현지화하려는 경우 (그리고 처음에는 그것을 배제하기가 종종 어렵다), String.format은 두 가지 이유로 선호됩니다.

  1. 번역 할 문자열 문자가 하나뿐입니다
  2. 다른 언어로 더 적합 할 수있는 값의 순서를 변경할 수 있습니다.

다른 팁

모든 사람은 읽을 수있는 string.format (내가 받아들이고 Null Ref와 국제화 혜택이 있습니다)에 대해 게시했지만 아무도 그것이 상당히 간단한 문자열 연결 (소수의 요소) 또는 StringBuilder (많은 수의 concats)를 사용하는 것보다 느립니다.

성능이 중요하거나 많은 운영을 수행하는 경우 (따라서 곧 성능 ~ 할 것이다 문제) 그러면 형식을 피해야합니다.

편집 : 요청에 따라 참조;)

http://msmvps.com/blogs/jon_skeet/archive/2008/10/06/Formatting-Strings.aspx

http://blog.briandicroce.com/2008/02/04/stringbuilder-vs-string-performance-in-net/

Karl Seguin의 멋진 기사 : 더 나은 코드 - String.format를 사용하십시오 일부 이점을 설명합니다.

첫 번째 방법은 읽기가 매우 어렵고 더 많은 유형의 유형입니다. 또한, 일단 많은 일을하기 시작하면 생각해야 할 성능 고려 사항이 있습니다.

실제로 값 ({0 : d} 등)을 형식화하는 경우 String.format은 문자열 연결보다 읽는 것이 훨씬 좋습니다.

나에게 그것은 내용에 달려있다. 문자열을 연결하는 문자열은 추가 문자열 객체를 만듭니다 (때문에 문자열은 .NET에서 불변입니다), 주로 판독 성 문제이지만.

때로는 Newline 문자를 문자열에 배치하고 싶을 때 복잡해집니다.이 경우 다음과 같은 것을 사용하는 경향이 있습니다.

StringBuilder.AppendLine(string.Format("Some text {0}.", "here"));

개인적으로 나는 string.format을 읽기 쉽고 문자열은 하나의 연속 텍스트로 표시됩니다. 올바른 매개 변수를 이해하기 위해 올바른 매개 변수를 찾아야한다면 얼마나 많은 매개 변수가 있는지에 따라 다릅니다.

나는 그것이 선호의 문제에 더 가깝다고 믿는다. 그러나 일단 정기적으로 사용하기 시작하면 대부분의 팀이 소송을 따랐습니다. 우리가 그것을 논의했을 때, 그것은 이해하고 읽기가 더 쉬운 것이 합의되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top