본문 바로가기

개발 🛠💻/.NET Framework C#4

C# 메모 C# 을 사용하면서 간단하게 기억해야 할 것 들을 메모한다. interface interface 내부에서 멤버 필드 선언 불가. 대신에 프로퍼티를 사용하면 된다. 2023. 5. 9.
C# Linq 지연평가 호출 순서는 2 -> 3-> 1 Linq는 for문이 아니다! 이렇게 사용했을때, itemList 의 실제 데이터는 모두 지워진 상태에서 Linq 쿼리식이 호출됨. 실제로 쿼리의 결과를 이용하여 순회를 수행할 때 결과가 생성. 이때는 ToList() 때문에 1->2->3 순서로 호출됨. 참고 링크 https://week-year.tistory.com/87 [Effective C# Item 37] 쿼리를 사용할 때는 즉시 평가보다 지연 평가가 낫다 쿼리를 정의한다고 해서 결과 데이터나 시퀀스를 즉각적으로 얻어오는 것이 아니다. 실제로는 쿼리를 정의하는 작업은 수행 시에 어떤 과정으로 작업을 수행할지에 대한 절차만을 정의한 것에 week-year.tistory.com 2023. 4. 14.
C#의 Pass by reference, ref 키워드 출처 : https://mathmakeworld.tistory.com/89 C#의 Pass by reference와 ref, out, in 키워드 저번 포스팅에서는 C#의 Pass by value에 대해 알아보았습니다. 짧은 예제를 통해 value type의 변수와 reference type의 변수를 parameter로 보냈을 때의 동작을 알아보았죠. 그리고 value type과 reference type의 mathmakeworld.tistory.com 출처 : https://blockdmask.tistory.com/605 [C#] ref 매개변수 한정자 설명 및 에제 (ref 키워드) 안녕하세요. BlockDMask입니다. 오늘은 C#에서 매개변수를 넘길 때 붙여줄 수 있는 한정자 중에 ref라는 키워.. 2023. 4. 4.
C# 람다와 클로저 class Member { public int b; } class MemberWrapper { public Member m = new Member(); public int a; } class ExampleClass { public Action lambda; public ExampleClass(MemberWrapper wrapper) { var tempForCopy = wrapper; tempForCopy.a = 10; lambda = () => Func(tempForCopy); tempForCopy.a = 100; } public void RunLambda() { lambda(); } public static void Func(MemberWrapper w) { Console.WriteLine(w.a); .. 2023. 4. 3.