본문 바로가기

반응형

C#

(91)
Closure, SOH(Small Object Heap), LOH(Large Object Heap) 오류 발생 원인과 해결방안 FirstOrDefault 함부로 사용하면 안 되겠다,, 해결방안은 아래 출처에서 보기 사용하더라도 1. 최대한 모수 줄이기 2. 그래도 많은 경우에는 메소드 따로 만들고 Foreach로 따로 List 만들어서 반환해주기(아래 출처 참고) [출처] https://www.jetbrains.com/help/resharper/2021.3/Fixing_Issues_Found_by_DPA.html
Find vs FirstOrDefault vs Where + FirstOrDefault vs for loop 속도 비교 for loop(408.2 ms) > Find(430.4 ms) > Where + FirstOrDefault(516.9 ms) > FirstOrDefault(585.6 ms) 순으로 속도가 차이난다. 관련돼서 내가 쓴 글 - https://leejooyeon.tistory.com/39 [출처] https://yunhyeon.tistory.com/380
FirstOrDefault vs Where.FirstOrDefault FirstOrDefault vs Where + FirstOrDefault - 성능은 동일한데 후자의 속도가 더 빠름. [출처] https://github.com/dotnet/runtime/issues/30119 https://stackoverflow.com/questions/8059285/c-sharp-linq-whereexpression-firstordefault-vs-firstordefaultexpression
BigList 모델 구현 BigList를 구현하게 된 건 list의 크기가 커서 발생하는 Out Of Memory를 줄이기 위함이었다. 출처에서의 파일은 vb여서 이를 컨버트하는 작업을 했봤다. 맞는지는 모름.. public class BigList : IEnumerator, IEnumerable { private List _listOfLists; private Int64 _enumIndex = -1; private int _listIndex = 0; private T _current; public BigList() { _listOfLists = new List(); _listOfLists.Add(new List()); _enumIndex = -1; _listIndex = 0; } public T this[long index] ..
IEnumerable vs IQueryable 차이점 [IEnumerable] Linq-to-Object가 작동하도록 하는 인터페이스이다. 원래 쿼리와 일치하는 모든 개체가 데이터베이스 메모리에 온로드된다. Linq 구절을 실행하게 되면 master 테이블을 통으로 조회한 후 서버단에서 처리를 한다. [IQueryable] Linq-to-Sql이 작동하도록 하는 인터페이스이다. Linq 구절이 있는 쿼리가 데이터베이스에서 실행이 되고 데이터 베이스 메모리에 필터링 값을 로드시켜준다. - 둘의 차이점은 IQueryable를 사용하면 많은 데이터를 로드할 필요 없이 원하는 필터링만 조회할 수 있다. 예로, 페이징 처리를 할 수 있다. Take 및 Skip을 이용해 요청한 행만 확보할 수 있다. IEnumerable을 사용하면 모든 행이 메모리에 로드가 된다. ..
프로그램 실행 시 콘솔창 안 나오도록 하는 하기(백그라운드에서 프로그램 실행하기) 실행하는 프로젝트의 속성 -> 애플리케이션 -> 출력 형식을 콘솔 애플리케이션에서 Windows 애플리케이션으로 변경한다. [출처] https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kjh3864&logNo=220987326642
form이 show인지 showdialog인지 체크하는 방법 this.Modal이 true일 경우 showDialog이다. [출처] https://stackoverflow.com/questions/11105262/how-to-know-if-a-form-is-shown-as-dialog
TopLevel, TopMost 차이 TopLevel - True로 설정 시 부모창 없는 최상단의 창으로 설정 TopMost - True로 설정 시 다른 실행중인 프로그램 모두 포함해서 모니터상에서 최상단에 표시됨 [출처] https://ttleader.tistory.com/103

반응형