728x90
- 주제
1. Nullable
2. StringBuilder
- 공부내용
1. 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);
2. StringBuilder
- 5가지 메서드 제공: Append(추가), Insert(삽입), Replace(대체), Remove(제거), Clear(모두 제거)
- 효율적인 메모리 관리: 문자열의 크기가 늘어나거나 줄어들어도 추가적인 메모리 할당이 발생하지 않는다.
(용량이 무제한은 아니며 최대 용량이 지정되고 최대 용량을 넘어서게 되면,
새 공간이 자동으로 할당되고 용량이 두 배로 증가한다)
StringBuilder sb = new StringBuilder();
// 문자열 추가
sb.Append("Hello");
sb.Append(" ");
sb.Append("World"); //출력: Hello World
// 문자열 삽입
sb.Insert(5, ", "); //5번째에 콤마 삽입 //출력: Hello, World
// 문자열 치환
sb.Replace("World", "C#"); //World를 C#으로 치환 //출력: Hello, C#
// 문자열 삭제
sb.Remove(5, 2); //5번째부터 2개, 즉 5번째, 6번째 삭제 //출력: HelloC#
// 완성된 문자열 출력
string result = sb.ToString(); //문자열로 바꾸기
Console.WriteLine(result);
728x90
반응형
'유니티' 카테고리의 다른 글
Day 23 - 탑뷰게임 만들기(InputField) (0) | 2024.05.10 |
---|---|
Day 22 - 탑뷰게임 만들기(플레이어를 따라가는 카메라) (0) | 2024.05.09 |
Day 20 - C# (생성자 개념 및 사용) (0) | 2024.05.07 |
Day 19 - C# (Random 클래스) (0) | 2024.05.04 |
Day 18 - C# (얇은 복사, 깊은 복사, ICloneable) (0) | 2024.05.03 |