반응형
'+'연산 초기 연결
string
클래스 메타 데이터를 보면 연산자 ==
와 !=
오버로드 만 시청 . 설명 ' +
'연산자에 대한 연결을 어떻게 수행 할 수 있습니까?
편집 :
링크 연결에 대한 Eric Lippert의 흥미로운 메모 :
2 부 ( http://www.joelonsoftware.com/articles/fog0000000319.html )에 언급 된 Joel의 슈퍼 기사도 있습니다.
언어 -C # 컴파일러는 :)
그래서이 코드 :
string x = "hello";
string y = "there";
string z = "chaps";
string all = x + y + z;
실제로 다음과 같이 조치합니다.
string x = "hello";
string y = "there";
string z = "chaps";
string all = string.Concat(x, y, z);
(Gah- 개입 편집은 실수로 다른 비트를 제거했습니다.)
여기에 여러 개의 문자열 연결이 있음 을 인식하는 C 번호의 이점은 컴파일러 중간 문자열을 생성하지 않고 및 x + y
연결의 일부로 다시 복사해야 우리한다는을 구석으로 입니다. 대신 한 번에 모든 작업을 수행합니다.(x + y)
z
편집 : 루프에서 연결하면 컴파일러 가 아무것도 할 수 없습니다 . 예를 들어 다음 코드는 다음과 가변합니다.
string x = "";
foreach (string y in strings)
{
x += y;
}
다음과 같이 끝납니다.
string x = "";
foreach (string y in strings)
{
x = string.Concat(x, y);
}
... 이것은 그래서 않는 쓰레기를 많이 생성하고,이 사용해야하는 당신 이유입니다 StringBuilder
같은 경우에. 많은 질문에 더 답할 수 있도록 두 가지에 대해 자세히 설명 하는 기사 가 있습니다 .
참고 URL : https://stackoverflow.com/questions/10341188/string-concatenation-using-operator
반응형
'IT' 카테고리의 다른 글
정적 메서드 대신 싱글 톤을 사용하는 이유는 무엇입니까? (0) | 2020.09.14 |
---|---|
jquery .val ( 'xyz') 사용할 때 Knockout.js 바인딩 된 입력 값이 업데이트되지 않음 (0) | 2020.09.14 |
Java 애플리케이션의 악성 코드에 대한 샌드 박스 (0) | 2020.09.14 |
Rails에서 테스트 할 때 HTTP_REFERER를 어떻게 설정하나요? (0) | 2020.09.14 |
서비스 내 브로드 캐스트 혜택 (0) | 2020.09.14 |