VB.NET에서 문자열 연결을위한 앰퍼샌드 대 플러스
이 질문에 이미 답변이 있습니다.
VB.NET에서 &
대신 문자열을 연결하는 데 사용하는 이점 이 +
있습니까?
예를 들면
Dim x as String = "hello" + " there"
대
Dim x as String = "hello" & " there"
예, 사용하고 싶은 많은 문자열 연결에 대해 알고 StringBuilder
있지만 이것은 더 일반적인 질문입니다.
나는 두 사업자 모두를 찬성하는 훌륭하고 강력한 주장을 들었습니다. 어느 논쟁이 하루에이기는지는 주로 상황에 따라 다릅니다. 제가 말할 수있는 한 가지는 여러분이 둘 중 하나를 표준화해야한다는 것입니다. 이 둘을 혼합하는 코드는 나중에 혼란을 요구합니다.
지금 제가 기억하는 두 가지 주장은 &
다음과 같습니다.
- 사용하지 않고
Option Strict
두 개의 숫자 문자열이있는 경우 컴파일러가+
연산자 의 의미를 산술 덧셈과 혼동하기 쉽습니다. - 오래된 vb6-era 코드를 많이 업데이트하는 경우 연결 연산자를 변환 할 필요가 없습니다 (일관성을 원합니다).
그리고 +
:
- 혼합 된 vb / C # 상점이있는 경우 연결 연산자가 하나만있는 것이 좋습니다. 이는 언어간에 코드를 쉽게 이동할 수있게 해주 며, 언어간에 앞뒤로 이동할 때 프로그래머에게 컨텍스트 전환이 훨씬 적다는 것을 의미합니다.
&
VB에서 거의 고유 한 반면+
문자열 사이는 여러 언어에서 연결을 의미하는 것으로 이해되므로 가독성에서 약간의 이점을 얻을 수 있습니다.
Micorosoft의 기본 설정 은 VB 프로 게 머가 +가 아닌 문자열에 &를 사용하는 것입니다.
+ 연산자를 사용하여 문자열을 연결할 수도 있습니다. 그러나 모호함을 없애려면 대신 & 연산자를 사용해야합니다.
&
VB.NET에서 문자열 연결에 사용하는 것을 선호합니다.
이에 대한 한 가지 이유는 혼동을 피하는 것입니다.
MessageBox.Show(1 & 2) ' "12"
MessageBox.Show(1 + 2) ' 3
컴파일러에게 의도를 명확히하고 있으므로 &를 사용하는 것이 더 안전합니다 (이 두 값을 연결하고 둘 다 문자열로 변환해야 함).
+를 사용하면 적어도 strict 옵션이 꺼져있는 경우 문자열이 숫자 값인 경우 버그를 찾기가 어려울 수 있습니다.
예를 들면 :
1 + "1" = 2 ' this fails if option strict is on
1 & "1" = 11
편집 : 비 문자열을 연결하는 경우 어쨌든 더 나은 방법을 사용해야 할 것입니다.
나는 그것이 역사적인 것이라고 생각합니다 (비 .NET Visual Basic은 &, 왜 그들이 +를 도입했는지 확실하지 않음)와 취향의 문제 (문자열을 연결하기 때문에 & 선호하므로 추가하지 않습니다 ...).
참조 URL : https://stackoverflow.com/questions/3006153/ampersand-vs-plus-for-concatenating-strings-in-vb-net
'programing' 카테고리의 다른 글
malloc (0)은 무엇을 반환합니까? (0) | 2021.01.18 |
---|---|
배열에서 짝을 이루지 않은 유일한 요소 찾기 (0) | 2021.01.18 |
솔루션 탐색기 VS2010에서 부분 클래스 파일을 그룹화하는 방법 (0) | 2021.01.18 |
MOQ-인수 값 (다중 인수)을 기반으로 메서드 설정 (0) | 2021.01.18 |
Class.forName을 사용하여 중첩 된 정적 클래스 인스턴스화 (0) | 2021.01.18 |