본문 바로가기
반응형

string3

C# 얕은 복사, 깊은 복사에 대해서 알아보자 얕은 복사(Shallow Copy) 예시 코드Key와 Value가 그대로 복사됨Value가 만약 참조 타입이면, 복사본과 원본이 같은 인스턴스를 가리킴Dictionary Currencies = new(){ { "USD", new Currency("Dollar", 1.0m) }, { "EUR", new Currency("Euro", 0.9m) }};var shallowCopy = Currencies.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);깊은 복사(Deep Copy) 예시 코드Dictionary Currencies = new(){ { "USD", new Currency("Dollar", 1.0m) }, { "EUR", new Currency.. 2025. 5. 19.
C# Trim() 메서드에 대해서 String.Trim()문자열 앞뒤에 공백을 제거한 문자열을 반환한다.(Trims the whitespace from both ends of the string. Whitespace is defined by char.IsWhiteSpace.)String.Trim(char)문자열 앞뒤에 지정된 문자(char)를 제거한 문자열을 반환한다.기본적으로 Trim() 매서드에 아무 인자를 지정하지 않으면 공백을 제거한다. String.TrimStart(), String.TrimeStart(char)문자열 맨 앞에 공백을 제거한 문자열을 반환한다.문자열 맨 앞에 지정된 문자(char)을 제거한 문자열을 반환한다.String.TrimEnd(), String.TrimeEnd(char)공백 이외에 자신이 원하는 문자를.. 2024. 9. 10.
C# StringBuilder에 대해서 String은 불변(Immutable)이다 String은 참조 타입이면서 불변이다. 데이터 변경때마다 힙에 새로운 메모리 공간이 할당되어야 한다. 그렇기 때문에 잦은 데이터 변경은 시스템에 부하를 가져온다. C# String은 참조 타입(Reference type)이면서 불변(Immutable)하다. string vs StringBuilder 예를 들어, int의 경우를 살펴보자. int는 값 타입(value type)이면서 가변(mutable)이다. 값 타입은 데이터 변경 시에 새로운 메모리 할당이 일어나지 않는다. 이미 생성된 메모리의 jettstream.tistory.com 참조 타입이면서 가변(Mutable)인 StringBuilder 그래서 잦은 문자열 변경이 예상된다면 StringBuilder.. 2024. 2. 21.