반응형
string 형식 자료형
string은 기본 제공 참조형식에 속합니다.
string은 0문자 이상의 유니코드 문자의 집합을 나타내며, .NET의 System.String의 별칭입니다.
string은 참조 형식이지만 문자열을 비교할 때 == (같음), !=(같지 않음) 과 같은 연산자를 사용하며, 이 연산자는 참조의 비교가 아니라 개체의 값을 비교합니다.
Length 속성은 문자열의 길이를 나타냅니다.
문자열의 결합과 비교
문자열의 결합은 + 연산자를 이용하며, ==, != 연산자로 문자열을 비교할 수 있습니다.
static void Main(string[] args)
{
string s1 = "Hello";
string s2 = "H";
s2 += "ello";
if(s1 == s2)
Console.WriteLine("s1, s2는 같은 문자열입니다.");
else
Console.WriteLine("s1, s2는 서로 다른 문자열입니다.");
}
string 형식의 문자열은 변경할 수 없는 개체입니다.
string s = "H";
s += "ello";
위 코드는 처음에 "H"가 할당된 메모리의 크기가 변경되는 것이 아니라, 다른 위치에 "Hello" 라는 메모리를 할당받고, 참조 s가 변경된 메모리의 위치를 참조하게 됩니다. 이 때 기존에 할당된 "H"의 메모리는 사용할 수 없게되며, 사용하지 않는 메모리는 GC(Garbage Collector. 가비지 콜렉터)가 수거해 갑니다.
string 문자열은 읽기 전용으로 변경할 수 없지만 [ ] 연산자로 각 문자를 읽어올 수 있습니다.
static void Main(string[] args)
{
string s1 = "Hello";
//s1[1] = 'E'; // 오류
for(int i=0;i<s1.Length;i++) // Length: 문자열 길이
Console.WriteLine(s1[i] + " ");
}
기타 문자열에 대한 다양한 연산이 있습니다.
다양한 문자열 연산에 대해서는 다음 기회에 포스팅을 하겠습니다.
반응형
'C# > C#_기초강의' 카테고리의 다른 글
(C#) 자료형: object, 박싱과 언박싱 (0) | 2023.04.20 |
---|---|
(C#) 자료형: 암시적 형식 지역 변수 선언: var (0) | 2023.04.20 |
(C#) 자료형: char 문자형 (0) | 2023.04.20 |
(C#) 자료형: bool (0) | 2023.04.20 |
(C#) 값 형식과 참조 형식 reference types and value types (0) | 2023.04.20 |