MFC 에서 CArray는 C#으로 어떻게 사용되나요?

안녕하세요.
MFC 소스를 C#으로 포팅 하는 작업을 하고 있습니다.

MFC에서 CArray<class, class&>이런식으로 사용 되고 있어서
구글에 검색을 해보니 동적 배열이라고 설명이 있습니다.

그러면,
MFC에서 CArray는 C#에서는 List와 같은 거라고 볼 수 있나요 ?
그게 아니라면 어떻게 사용 되는 지 궁금합니다.

2개의 좋아요

일단 주지하셔야 할 부분이 하나 있습니다. 둘 사이를 기계적으로 100% 일치하는 지 여부는 보장할 수는 없습니다. 코드를 마이그레이션하신 후에는 꼭 단위 테스트를 작성하셔서 로직에 이상이 없는지 점검하시길 추천드립니다.

표면적으로는 System.Collections.ArrayList (Type 안정성을 보장하지 않는 버전)와 System.Collections.Generic.List (Generic 버전) 중 하나를 택하실 수 있습니다.

리스트 안에 들어가야 할 데이터의 종류가 정형화되어있다면 Generic 버전의 List를 사용해서 형식 안정성을 보장하도록 프로그래밍하시는 것이 유용하며, 서로 다른 ancestor를 가지는 형식의 인스턴스들을 섞어서 리스트에 넣는 코드를 사용한다면, ArrayList를 사용하거나 인스턴스들 사이의 상속 관계 상의 최대한의 공통 분모를 찾아 List 타입을 이용하실 수 있을 것 같습니다.

반면 System.Array와 배열 타입들은 MFC의 CArray와는 달리 크기가 고정된 배열만 취급하므로 용법이 다릅니다.

4개의 좋아요

감사합니다 !!
단위 테스트를 작성 해서 로직에 문제가 없는지 점검 후 반영 해보도록 하겠습니다.

1개의 좋아요