C\#문자열 의 일반성 과 특수성

1528 단어 C#문자열
string 형식 은 C\#의 기본 형식 중 하나 입 니 다.FCL 의 System.String 형식 에 대응 하 는 참조 형식 입 니 다.string 형식 은 일반적인 인용 유형 에 비해 어떤 공통점 과 차이 점 이 있 습 니까?
1.문자열 은 고정 적 인 불변성 을 가지 고 있 습 니 다.문자열 은 System.String 네 임 스페이스 에 존재 합 니 다.컴 파일 도 구 를 통 해 볼 수 있 습 니 다.

문자열 에는 두 개의 읽 기 전용 속성 만 있 고 설정 가능 한 속성 이 없 기 때문에 string 형식의 인 스 턴 스 는 고정 적 인 불변성 을 가지 고 있 습 니 다.문자열 의 내용 을 바 꾸 면 시스템 은 메모리 에 새로운 문자열 을 생 성 합 니 다.사실 이 점 은 문자열 의 특수성 이 라 고 할 수 없습니다.이것 은 일반적인 인용 형식 과 다 를 것 이 없습니다.다만 string 형식 이 정 의 될 때 쓸 수 있 는 속성 을 만 들 지 않 았 기 때문에 문자열 의 일반적인 특성 이 라 고 할 수 있 습 니 다.
 데모 코드 는 다음 과 같 습 니 다.

 class Program
 {
 static void Main(string[] args)
 {
  string str1 = "Hi";
  string str2 = str1;
  str2 = "Hello"; //          str2  new     
  Console.WriteLine("str1   :{0}", str1);
  Console.WriteLine("str2   :{0}", str2);
  Console.ReadKey();
 }
 }
실행 결 과 는 다음 과 같 습 니 다.

2.문자열 에 있 는 풀 의 개념 입 니 다.이것 은 string 형식 특유 의 것 이기 때문에 문자열 의 특수성 입 니 다.우리 가 설명 한 문자열 이 더미 에 존재 하 는 문자열 의 값 과 같 을 때 더 이상 더미 에 공간 을 열 고 새로운 인 스 턴 스 를 만 들 지 않 고 현재 설명 문자열 의 인용 을 존재 하 는 인 스 턴 스 를 가리 킵 니 다.

이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!

좋은 웹페이지 즐겨찾기