본문 바로가기

Software Engineering/Computer Science

[C#] 리스트 복사, SetCursor

C# 콘솔앱으로 프로젝트를 진행하던 중 새로 배운 기능 정리.

 

목   차

     


    리스트 복사

    리스트 하나의 요소 복사

    List<int> copiedList.Add(originalList[index]);

    원하는 하나의 요소를 복제하는 것은 그리 어렵지 않다.

     

    리스트 전체 복사

    List<int> copiedList.AddRange(originalList);

    리스트를 다음과 같이 하면 original리스트의 전체를 복사해버릴 수 있다.

    리스트 일부 복사

    List<int> copiedList = originalList.GetRange(0, n + 1); // 인덱스 0부터 시작, n + 1개의 요소를 복사

     이게 내가 궁금해서 찾아본 이번 공부의 실체다. 일부만 복사하려면, Add 대신 GetRange를 사용해서 원하는 인덱스와 거기서부터 필요한 요소의 개수를 입력하면 된다.

    리스트 깊은 복사

    List<int> originalList = new List<int> { 1, 2, 3, 4, 5 };
    List<int> deepCopiedList = new List<int>(originalList); // 깊은 복사

    번외로 리스트는 참조로 전달되므로 깊은 복사가 필요할 때 하는 법도 적어둔다.


    cursor 위치 변경

    SetCursorPosition(x, y)

    Console.CursorTop 을 사용하면 상대위치로도 커서 포지션을 바꿀 수 있다.