언제 연결 연산자 대신 String.Format 또는 String.Concat을 사용해야합니까?
var newString = "The answer is '" + value + "'.";
사용 String.Format
: 연결 연산자 사용
: 것이 가능 C#에서
은 여러 가지 방법으로 문자열을 연결
var newString = String.Format("The answer is '{0}'.", value);
사용하여 String.Concat
:
var newString = String.Concat("The answer is '", value, "'.");
이 방법들 각각의 장점/단점은 무엇입니까? 언제 다른 사람들보다 하나를 선호해야합니까?
문제는 개발자 간의 토론 때문에 발생합니다. 하나의 결코은 연결을 위해 String.Format
을 사용하지 않습니다. 이것은 문자열의 서식 지정을위한 것이지 병합을위한 것이 아니며 문자열의 항목이 잘못된 순서로 표현되기 때문에 항상 읽을 수 없습니다. 다른 은 종종 String.Format
을 연결에 사용합니다. 코드를 쉽게 읽을 수 있다고 생각하기 때문에, 특히 인용 부호가 여러 세트 인 경우 특히 그렇습니다. 이 두 개발자는 모두 연결 연산자와 String.Builder도 사용합니다.
+1 바람직하지 않은 downvote를 막기 위해서. – LukeH
예, 좋은 링크 +1입니다. – StuartLC
문자열 연결을 사용하면 메모리에 많은 작은 개체가 생성되어 가비지 수집 성능에 부정적인 영향을 줄 수 있습니다. 링크에서 테스트하여 이러한 영향을 측정하는 것은 매우 어렵지만 성능 요구 사항이 까다로운 대형 시스템의 경우 매우 큰 성능 문제 일 수 있습니다. –