티스토리 뷰


[질문 – C++에서의 CList C#에서 어떻게 구현하는가]

이번에 C#을 다루게 되었는데, MFC로 구현된 것을 C#으로 바꾸고 있습니다.

중간에 지금 막혀서 그런데 많은 답변 부탁드립니다;;; ㅠㅠ;;

MFC CList<int, int&> C#에서 List<int> 으로 하는 표현방식이 맞는지 모르겟네요 오류는 나지않지만.....

그리고 MFC CList 클래스 GetHeadPosition(), GetNext() C#으로 매칭시키는 함수가 궁금합니다;;;

아니면,,,, 구현하는 방법이라도 답변부탁드립니다;;;; ㅎㅎ

[답변]

List를 접근하는 방법은

열거자를 이용하는방법, 인덱스로 접근하는 방법, foreach문을 통해 접근하는 방법등이 있다.
간단한 예제를 작성해 보았다.

 다음 3가지의 경우는 모두 같은 출력물을 가지게 된다.

 

 

List<int> listInt = new List<int>();

for (int i = 0; i < 10; i++)

{

    listInt.Add(i);

}

 

#region 열거자를 이용하는 방법

 

// List의 열거자를 얻음

IEnumerator etr = listInt.GetEnumerator();

 

// 열거자를 컬렉션의 다음위치로 이동시킴 (없다면 false)

while (etr.MoveNext())

{

    int val = (int)etr.Current;

    Console.WriteLine(val);

}

 

etr.Reset(); // 컬렉션의 첫번째 요소 앞의 초기 위치에 열거자를 설정

 

#endregion

 

 

 

#region 열거자를 이용하지 않는 방법 #1 - 인덱스를 이용

 

for (int i = 0; i < listInt.Count; i++)

{

    // 컬렉션을 인덱스로 접근

    int val = listInt[i];

    Console.WriteLine(val);

}

 

#endregion

 

 

 

 

#region 열거자를 이용하지 않는 방법 #2 - foreach문을 이용

 

foreach (int val in listInt)

{

    Console.WriteLine(val);

}

 

#endregion

 

반응형
댓글