MSDN 문서에서는 값 형식 만 복싱이 필요하다고하지만이 형식은 값 형식이고 boxed 할 필요가없는 문자열에는 적용되지 않습니다. 처음에 Type.IsValueType을 시도했지만 문자열에 대해 true를 반환하기 때문에 유형을 실제로 박스에 넣어야하는지 여부를 결정하는 데 사용할 수 없습니다. 당신이 알고있는 다른 방법이 있습니까? 문자열 만 예외입니까?유형 입력란을 결정하는 방법은 무엇입니까?
업데이트 : int를 참조한 곳에서 코드를 실수로 작성했으며 문자열이라고 생각했습니다. 문자열은 사실 값 유형입니다, 사람들을 가리켜 주셔서 고마워요!
문자열을 String으로 묶어야 할 필요가 없다고 생각하는 이유는 무엇입니까? –
제 세상에서 'typeof (string) .IsValueType'은'false'를 반환합니다. 문자열은 클래스입니다. 그것은 Int32와 같은 구조체가 아닙니다. –
@Filip : String은 클래스이며 이미 힙에 할당되어 있습니다. .NET은 문자열 데이터를 보관하기 위해 스택에서 공간을 할당하지 않습니다. – AnthonyWJones