본문 바로가기

전체 글

(18)
LINQ(2) - 일반적인 LINQ 코드 작성 원칙 및 유의점 LINQ에 대한 여러가지 LINQ는 워낙 거대한 기능이라 사용방법이 복잡하다. 이 글에서는 LINQ에 관련된 여러가지 잡다한 이야기와 LINQ 코드를 사용할 때 주의할 점들에 대해 서술한다. 또한 이 글은 유니티에서의 사용을 전제로 삼고 있다. LINQ는 SQL로 변환될 수 있는 쿼리 표현식으로 널리 사용되지만, 여기서는 고려하지 않는다. . LINQ 코드 작성 원칙 이 글에서 제안하는 LINQ 관련 코드 작성 원칙이다. 1. 쿼리 구문보다 메서드 구문을 사용한다. 쿼리 구문은 일반적인 C# 코드와 너무 이질적인 모양을 하고 있다. SQL보다는 C#에 익숙할 유니티 프로그래머들이 굳이 더 생소하게 보일 쿼리 구문을 사용할 필요가 없다. 유니티에서 실제 DB에 쿼리할 일이 없으니 더욱 그렇다. 또한 쿼리 ..
LINQ(1) - 함수형 프로그래밍에 대해서 함수형 프로그래밍은 프로그래밍을 하다 보면 누구나 한번쯤은 빠져들게 되는 주제이다. 이 글에서는 C#의 가장 중요한 기능 중 하나인 LINQ에 대해 설명하기 전, 함수형 프로그래밍에 대해 간략하게 설명한다. 명령형 프로그래밍vs선언형 프로그래밍 함수형 프로그래밍에 대해 생각하기 전에 먼저 명령형imperative 프로그래밍과 선언형declarative 프로그래밍의 개념부터 알아야 한다. 명령형 프로그래밍이란 어떻게 해야 하는지를 서술하는 것이다. 반면에 선언형 프로그래밍은 내가 무엇을 할지를 서술하는 것이다. 예를 들어 지금 Q라는 글자를 타이핑하려고 해보자. 명령형 프로그래밍의 관점에서 Q를 타이핑하는 방법은 다음과 같다: 새끼손가락을 왼쪽으로 0.5cm, 앞쪽으로 0.5cm 이동한다. 새끼손가락 끝에..
C#의 프로퍼티와 필드는 뭐가 다를까? 프로퍼티vs필드 프로그래밍을 입문하는 경우 C/C++로 입문하는 경우가 많다. 그래서 클래스를 "메서드"와 "멤버 변수"의 묶음으로 이해하는게 대부분이다. 그런데 C#에는 "멤버 변수" 대신 필드와 프로퍼티가 있다. 뭐가 다를까? 필드는 전통적인 의미의 멤버 변수이다. 인스턴스의 상태를 저장한다. 프로퍼티는 C++등에서도 흔하게 만들던 setter/getter 메서드를 언어 문법으로 가져온 것이다. 아래는 해당 개념을 코드로 표현한 것이다. public class ClassWithProperty { public int Field; private int _backingVariable; public int Property { get { return _backingVariable; } set { _backin..