2016-06-21 2 views
2

나는 오래된 VB.Net 프로젝트에서 일하고 있는데, 문자열 리터럴이나 문자열 변수가 CStr로되어있는 곳을 수백 개 발견하고 있습니다. 그것은 또한 Ints와 함께 이루어지고 있습니다. 내가 알지 못하는 이것에 대한 가치가 있습니까? 처리 능력이 필요한 실제 작업입니까?이것은 무엇입니까? CStr ("DELETE")

+1

엽기. 그 결과는 어떤 식 으로든 사용됩니까? –

+0

많은 것을 보지 못했지만 Microsoft 정보를 보면 성능을 향상시키는 것으로 보입니다. https://msdn.microsoft.com/en-us/library/s2dy91zy.aspx - https://msdn.microsoft.com/en-us/library/ch47ss2a.aspx – coder32

+0

ToString()은 실제 메서드 호출입니다. if 문자열에 대해 수행하면 사실 더 나쁠 수 있습니다. 편집 : 확인. –

답변

1

문자열의 CStr은 완전히 중복되어 유해하지 않습니다.

나는 파일을 내장 :

Sub Main() 
    Dim result = CStr("string") 

    Console.WriteLine(result) 
End Sub 

을 컴파일러는 ILSpy과 분해 조립을 살펴있는 경우 "문자열"과에서는 CStr ("문자열")를 대체 할만큼 영리했다.

+1

정확히 똑같은 일을 할 것입니다. 컴파일러는 두 문자열입니다. –

+0

나는 우리가 추론에 대해 말하고 있다는 것을 알지조차 못했습니다. 그것은 그 질문과 아무 관련이 없습니다. –

+0

@Zaggler -''12 "'*는 문자열입니다. 왜 나중에 어떤 시점에서 정수가되기를 원하십니까? 유형 추론을 사용하여'Option Infer'를 사용하여 컴파일러가 캐스팅을 수행하면 해로운 부작용이 발생하지 않는다고 말하는 경우에 당신이 말하는 것은 'As SomeType'을 넣는 요구 사항을 제거한다는 것입니다. 그러나'CStr ("abc")는 완전히 무의미하다. –

관련 문제