Nullable 형

null은 아무것도 없다, 즉 참조를 하지 않았다는 뜻이다.

값형은 원래 null을 가질 수 없다. 그러나 값형에 Nullable을 달면 null이라고 하는 값을 사용할 수 있게 된다. 주로 값형 변수가 null인지 아닌지를 구분해야 하는 경우에 사용된다.

// Nullable 형식 변수 선언
int? nullableInt = null;
double? nullableDouble = 3.14;
bool? nullableBool = true;

// 값 할당 및 접근
nullableInt = 10;
int intValue = nullableInt.Value;

// null 값 검사
if (nullableDouble.HasValue)
{
    Console.WriteLine("nullableDouble 값: " + nullableDouble.Value);
}
else
{
    Console.WriteLine("nullableDouble은 null입니다.");
}

// null 병합 연산자 사용
// nullableInt ?? 0과 같이 사용되며, nullableInt가 null이면 0을 반환합니다.
int nonNullableInt = nullableInt ?? 0;
Console.WriteLine("nonNullableInt 값: " + nonNullableInt);

 

 

문자열 빌더(StringBuilder)
  • 문자열 조작

문자열들을 내부적인 버퍼에 넣어 놓고 받아서 조합만 해놨다가 필요할 때 문자열로 만들어준다.

Append(), Insert(), Replace(), Remove() 등 다양한 메서드를 치환할 수 있다.

  • 가변성

내부 버퍼를 사용하여 크기가 동적으로 변할 수 있다. 추가했다 뺐다 바꾸기도 가능하며 추가적인 메모리 할당을 해서 가변적으로 길이를 조절할 수 있다.

  • 효율적인 메모리 관리

주요 메서드

Append: 뒤에 문자열 추가

Insert: 지정한 위치에 문자열 삽입

Remove: 지정한 위치에서 문자열 제거

Replace: 문자열의 일부를 다른 문자열로 대체

Clear: StringBuilder의 내용을 모두 지운다.

StringBuilder sb = new StringBuilder();

// 문자열 추가
sb.Append("Hello");
sb.Append(" ");
sb.Append("World");

// 문자열 삽입
sb.Insert(5, ", ");

// 문자열 치환
sb.Replace("World", "C#");

// 문자열 삭제
sb.Remove(5, 2);

// 완성된 문자열 출력
string result = sb.ToString();
Console.WriteLine(result);

 

 

+ Recent posts