2010-11-20 2 views
0

가능한 중복 : C#을 문자열에 int로서/더블 값이/특정을 struct-하는 클래스/REF 유형을, 왜
In C#, why is String a reference type that behaves like a value type?문자열입니다 클래스 - 왜

이유 또는 의도적으로 설계된 것입니다.

+3

[C#에서는 왜 문자열이 값 유형처럼 동작하는 참조 유형입니까?] (http://stackoverflow.com/questions/636932/in-c-why-is-string-a-) reference-type-that-as-like-a-value-type)을 사용합니다. 짧은 대답 : 우리는 값 유형이되고 싶지만 크기가 커질 수 있기 때문에 힙에 할당해야합니다. –

답변

0

Integral 형식은 한 번에 프로세서에서 전체적으로 액세스 할 수있는 중요한 특성을 갖습니다. 수천 바이트로 구성된 문자열의 경우는 아니므로 컴퓨터가 다른 방법으로는 할 수 없기 때문에 모든 언어에서 문자열이 항상 가리켜졌습니다.
C#과 같은 객체 언어에서는 메모리 위치를 가리키는 클래스를 만드는 것이 표준 적입니다. 실제로 개체가 무엇인지에 대한 것입니다.

그렇습니다. 문자열은 정수형이 아니기 때문에 클래스입니다.

관련 문제