2012년 3월 25일 일요일
Winform 투명창 (picture box) 만들기
신기하네요!
System.Windows.Forms 네임스페이스의 Form.TransparencyKey 속성을 이용하면 투명한 영역을 만들 수 있더군요.
cf) Form.TransparencyKey - MSDN
Form.TransparencyKey 속성에 Color 값을 지정하면, 폼에서 해당 Color 값을 BackColor로 갖는 영역을 투명하게
처리해주네요.
2012년 3월 2일 금요일
SortedList(Of TKey, TValue) Class
어떤 자료를 보다가 SortedList 라는 데이터 타입을 보고 기록에 남겨 봅니다.
자세한 정보는 MSDN에서!!
SortedList(Of TKey, TValue) Class - MSDN
SortedList(Of TKey, TValue) 는 key/value pair 을 갖는 제네릭 클래스 배열이다.
제네릭 특성을 갖는것을 보니 .NET Framework 3.5 에 포함된 것 같다.
SortedDictionary(Of TKey, TValue) 와의 관계
유사점은 유사한 객체 모델을 갖으며, O(log n) 의 시간 복잡도를 갖는다.
차이점은 메모리 사용량 과 데이터의 삽입, 삭제 속도의 차이를 갖는다.
SortedList(Of TKey, TValue) 는 SortedDictionary(Of TKey, TValue) 보다 적은 메모리를 사용한다.
SortedDictionary(Of TKey, TValue) 는 정렬되지 않은 데이터에 대하여 빠른 삽입, 삭제 속도를 갖는다.
SortedList(Of TKey, TValue) 데이터가 모두 정렬되어 있을 경우 SortedDictionary(Of TKey, TValue) 보다 빠르다.
SortedList(Of TKey, TValue) 는 Key에 의해 정렬된 Key/Value 쌍의 배열로 구현되어 있다. KeyValuePair(Of TKey, TValue) 객체를 통해 탐색할 수 있다.
이름에는 -List 라고 붙지만 Key/Value 쌍으로 데이터 갖기 때문에 Key 값은 유일한 값이여야 한다. Key 값은 Null 이 될 수 없지만 Value 값는 Null 값을 갖을 수 있다.
SortedList(Of TKey, TValue) 는 정렬 및 비교 연산을 위해 comparer 구현을 요구한다. 기본적인 comparer인 Comparer(Of T).Default 는 키 타입인 TKey 가 System.IComparable(Of T) 를 구현 했는지를 체크한다. 구현 했다면 그것을 사용한다. 만약 TKey 가 IComparable(Of T)를 구현하지 않았다면 Comparer(Of T).Default 는 키 타입 TKey 가 System.IComparable 을 구현 했는지 체크한다. 만약 이 둘 모두 구현하지 않았다면 매개변수를 갖는 생성자를 오버로드 한 뒤, System.Collections.Generic.IComparer(Of T) 를 구현해 준다.
예제를 보니 List 계열의 데이터 관리와 Dictionary 계열의 데이터 관리가 같이 사용된다.
기본적으로!
~List 는 배열로 관리되며 빠른 검색에 유리한 계열이다
~Dictionary 는 Linked List 라고 생각하고 빈번한 데이터의 추가/삭제에 유리한 계열이라 생각하자.
@
자세한 정보는 MSDN에서!!
SortedList(Of TKey, TValue) Class - MSDN
SortedList(Of TKey, TValue) 는 key/value pair 을 갖는 제네릭 클래스 배열이다.
제네릭 특성을 갖는것을 보니 .NET Framework 3.5 에 포함된 것 같다.
SortedDictionary(Of TKey, TValue) 와의 관계
유사점은 유사한 객체 모델을 갖으며, O(log n) 의 시간 복잡도를 갖는다.
차이점은 메모리 사용량 과 데이터의 삽입, 삭제 속도의 차이를 갖는다.
SortedList(Of TKey, TValue) 는 SortedDictionary(Of TKey, TValue) 보다 적은 메모리를 사용한다.
SortedDictionary(Of TKey, TValue) 는 정렬되지 않은 데이터에 대하여 빠른 삽입, 삭제 속도를 갖는다.
SortedList(Of TKey, TValue) 데이터가 모두 정렬되어 있을 경우 SortedDictionary(Of TKey, TValue) 보다 빠르다.
SortedList(Of TKey, TValue) 는 Key에 의해 정렬된 Key/Value 쌍의 배열로 구현되어 있다. KeyValuePair(Of TKey, TValue) 객체를 통해 탐색할 수 있다.
이름에는 -List 라고 붙지만 Key/Value 쌍으로 데이터 갖기 때문에 Key 값은 유일한 값이여야 한다. Key 값은 Null 이 될 수 없지만 Value 값는 Null 값을 갖을 수 있다.
SortedList(Of TKey, TValue) 는 정렬 및 비교 연산을 위해 comparer 구현을 요구한다. 기본적인 comparer인 Comparer(Of T).Default 는 키 타입인 TKey 가 System.IComparable(Of T) 를 구현 했는지를 체크한다. 구현 했다면 그것을 사용한다. 만약 TKey 가 IComparable(Of T)를 구현하지 않았다면 Comparer(Of T).Default 는 키 타입 TKey 가 System.IComparable 을 구현 했는지 체크한다. 만약 이 둘 모두 구현하지 않았다면 매개변수를 갖는 생성자를 오버로드 한 뒤, System.Collections.Generic.IComparer(Of T) 를 구현해 준다.
예제를 보니 List 계열의 데이터 관리와 Dictionary 계열의 데이터 관리가 같이 사용된다.
기본적으로!
~List 는 배열로 관리되며 빠른 검색에 유리한 계열이다
~Dictionary 는 Linked List 라고 생각하고 빈번한 데이터의 추가/삭제에 유리한 계열이라 생각하자.
@
피드 구독하기:
글 (Atom)