C# 14

C# Delegate 그리고 Event

출처 : http://gameforfun.tistory.com/entry/C-Event-%EA%B4%80%EB%A0%A8----------DelegateDelegate는 한글말로 대리자라 해석한다. 대신 해주는 사람을 뜻하는데, 이와 같은 의미로 특정 일을 대신 해주는 변수(field 에 속함)라 생각하면 된다. 특정 일을 해준다는 것은 특정 형식의 Method를 대신 실행해준다는 것을 의미한다.변수라 하면 특정 Type의 클래스와 그 클래스가 실체화한 Instance가 존재하는데 이는 Delegate에서도 마찬가지다.public delegate void DelegateMemberVariable(int a);해당 코드를 보면 void라는 리턴 타입에 int형의 인자를 받는 함수를 선언하면  Delegat..

C# 2013.01.08

[스크랩] 무제한으로 매개 변수 사용(C# 및 Java) - params(가변인자)

출처 : http://msdn.microsoft.com/ko-kr/library/ms228391(v=vs.90).aspx C#에서는 메서드를 선언할 때 params 키워드를 지정하여 개수가 가변적인 매개 변수를 메서드에 전달할 수 있습니다. 인수 목록에는 일반적인 매개 변수도 포함될 수 있지만params 키워드를 사용하여 선언한 매개 변수는 목록의 맨 마지막에 사용해야 합니다. 그 형태는 가변 길이 배열과 같으며 params 매개 변수는 각 메서드에서 하나만 사용할 수 있습니다.컴파일러에서 메서드 호출을 확인하려 시도할 때는 해당 인수 목록이 호출된 메서드와 일치하는 메서드를 조회합니다. 인수 목록과 일치하는 메서드 오버로드를 찾을 수 없지만 적절한 형식의 params 매개 변수와 일치하는 버전이 있는 ..

C# 2012.12.20

[C#] ArrayList 와 List 차이

C#을 하다 보면 당연히 아는 정보이겠지만.. 그래도 일단 적어 놓아야 겠다. ArrayList는 C# 객체들이 상속받는 최상위 클래스인 Object클래스를 데이터로 받는다. 이는 캐스팅을 해서 써야 한다는 뜻인데, 캐스팅을 자주 하는 것은 성능 저하에 한몫 한다고 한다. 하지만 List는 C++의 템플릿 처럼 미리 어떤 데이터 형식을 받을 것인지 지정해 둔다. 그렇기 때문에 캐스팅을 해서 쓸 필요가 없다.

C# 2012.09.27

[C#] ArrayList 메모리 구조

C#의 ArrayList는 메모리를 미리 할당시켜 놓으면, 그 메모리를 넘어서는 시점에서현재 메모리의 2배크기의 메모리를 생성해서 대체한다. 즉, new ArrayList(10)을 하면 현재 메모리 크기는 10이다.(정확하게는 데이터마다 다르지만, 여기선 그냥 이렇게 설명함)데이터를 11개째 넣을 때 메모리 크기가 20이 된다. 그런데.. 보통 2의승수 사이즈로 메모리를 잡지 않던가??

C# 2012.09.27
반응형