programing

VB.NET에서 문자열을 연결하기 위한 앰퍼샌드 vs.

topblog 2023. 5. 18. 20:40
반응형

VB.NET에서 문자열을 연결하기 위한 앰퍼샌드 vs.

VB.NET에서 다음과 같은 이점이 있습니까?&대신 문자열을 연결합니다.+?

예를들면

Dim x as String = "hello" + " there"

대.

Dim x as String = "hello" & " there"

예, 사용할 많은 문자열 연결에 대해 알고 있습니다.StringBuilder하지만 이것은 더 일반적인 질문입니다.

Microsoft의 기본 설정은 VB 프로그래머가 사용하는 것입니다.&현 상태를 떠나서+.

+ 연산자를 사용하여 문자열을 연결할 수도 있습니다.그러나 모호성을 제거하려면 & 연산자를 대신 사용해야 합니다.

저는 두 사업자 모두에게 유리한 좋은 주장을 들었습니다.어떤 주장이 승리하느냐는 주로 여러분의 상황에 달려 있습니다.제가 말할 수 있는 한 가지는 당신이 이것저것 표준화해야 한다는 것입니다.둘을 혼합한 코드는 나중에 혼동을 요청합니다.

내가 지금 기억하는 두 가지 주장은 당신을 지지하는 것입니다.&:

  • 사용하지 않는 경우Option Strict그리고 두 개의 숫자 문자열이 있습니다. 컴파일러가 당신의 의미를 혼동하기 쉽습니다.+산술 덧셈이 있는 연산자
  • 이전 vb6 시대 코드를 많이 업데이트하는 경우 연결 연산자를 변환할 필요가 없습니다(그리고 일관성을 원합니다).

그리고+:

  • 혼합 vb/C# 상점이 있는 경우 연결 연산자가 하나만 있으면 좋습니다.언어 간에 코드를 쉽게 이동할 수 있으며 언어 간에 이동할 때 프로그래머를 위한 컨텍스트 전환이 훨씬 적습니다.
  • &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

편집: 문자열이 아닌 다른 문자열을 연결하는 경우에는 더 나은 방법을 사용해야 합니다.

저는 그것이 역사적인 것이라고 생각합니다. (Non .NET Visual Basic은 &을 사용합니다. 왜 +를 도입했는지는 확실하지 않습니다.) 그리고 취향의 문제입니다. (저는 문자열을 연결하기 때문에 &를 선호합니다. 우리는 추가하지 않습니다.

언급URL : https://stackoverflow.com/questions/3006153/ampersand-vs-plus-for-concatenating-strings-in-vb-net

반응형