C C++과 Java에 영향을 받은 객체지향 프로그래밍 언어 CLR Common Language Runtime의 약자 서로 다른 언어들 사이에서 공동으로 사용할 수 있는 런타임이며 가상머신 ex) 쓰레드, 메모리 관리, 예외처리, GC 등 빌드시 생성되는 IL(Inte
개요 CLR이라는 가상 머신에서 진행 압축과 세대별GC를 사용 압축: 가비지 콜렉션 이후 메모리 단편화를 막기 위해 메모리 빈공간 없이 당겨오는 작업 세대별GC: 힙영역을 세대별로 분리하여 가비지 컬렉션 범위를 효율적으로 사용(최근 세대가 오래된 세대보다 더 빈
개요 .NET에서 제공하는 MemberWiseClone()와 대입의 차이 확인 효율적인 깊은 복사를 위한 Serialization 활용 코드 출력 결론 대입의 경우 기존 객체를 동일하게 가르키는 포인터를 생성함 모든 수정사항이 동일하게 반영됨 MemberWise
개요 예전에 for가 foreach 보다 성능이 좋다는 글을 종종 본 적 있음 .NET6에서 직접 확인 코드 Program.cs Loop.cs Recorder.cs 출력 결론 메모리 사용량 및 시간 성능은 차이가 없는 것으로 보임
C- StringBuilder는 내부적으로 어떻게 메모리를 관리하는지 확인코드 양이 많기 때문에 주석 제외하고, 필요한 부분만 분석String을 저장을 위해 기본적으로 char\[]를 사용하며 청크 기본 용량는 16, 최대 용량은 8000주석에 따르면, 청크 최대 용량
C - MSTestMS에서 기본으로 제공NUnitJava의 JUnit을 C - xUnitNUnit을 개선xUnit을 선택한 이유가장 유명한 것이 NUnit인데, 이를 개선했다는 점에서 기대종속성이 자유로움확장성이 좋음Visual Studio 2022에서 "보기>테스
Linq 클래스의 Where, Find 등 함수에 람다식을 파라미터로 전달하여 특정 데이터를 탐색 할 수 있음Linq 없이 for, foreach로 탐색하는 경우와 성능 차이 확인Linq.csProgram.cs데이터 수 및 반복 횟수가 적을 경우 FindAll()이 성
C- 자주 사용하는 string 값을 변수에 넣어두면 메모리 관리에 더 효율적일지 확인문자열 보간이 기존 string.Format보다 살짝 메모리, 성능이 좋음문자열 재사용은 효과 없음
주요 자료구조로 사용되는 List, Dictionary에 대해, 어느 상황에서 Collection was modified가 발생하는지 확인그리고 어떻게 해결할 수 있는지 확인Dictionary의 경우 Add, List의 경우 Add, Remove에서 발생Dictiona