배열과 목록: C#의 사용법 비교

Baeyeolgwa Moglog C Ui Sayongbeob Bigyo



C#의 배열은 데이터 유형이 동일하고 특정 크기가 정의된 항목 집합입니다. 이는 요소가 저장되는 인접한 메모리 덩어리를 나타냅니다. C#의 배열은 인덱스를 활용하여 해당 멤버에 대한 빠르고 쉬운 임의 액세스를 제공합니다. 목록은 동일한 형식의 구성 요소 그룹을 나타내는 C# 프로그래밍 언어의 동적 데이터 구조입니다. 배열과 달리 목록은 크기를 동적으로 늘리거나 줄일 수 있으므로 요소를 효율적으로 추가, 제거 및 수정할 수 있습니다. 이 문서에서는 C# 배열과 C# 목록 간의 유사점과 차이점을 모두 다룹니다.

선언:

배열은 'type[] ArrayName;'을 사용하여 선언됩니다. 여기서 유형은 배열 컬렉션의 구성원 유형을 나타내고 'ArrName'은 배열에 할당된 제목입니다. 배열 선언은 대괄호 []로 표시됩니다.

유형 [ ] 배열 이름 = 새로운 유형 [ ] ;

목록은 'List LsName;'을 사용하여 선언됩니다. 여기서 유형은 목록에 있는 요소의 데이터 유형을 나타내고 'LsName'은 목록에 지정된 이름입니다. 꺾쇠 괄호 은 일반 유형 선언임을 나타냅니다.







목록 < 유형 > 목록이름 = 새 목록 < 유형 > ( ) ;

초기화:

배열은 중괄호 {}를 사용하여 값을 묶고, 목록은 새로운 List 생성자를 사용하고 그 뒤에 중괄호 {}를 사용하여 값을 묶습니다.



유형 [ ] 배열 이름 = { v1 , v2 , v3 , ... } ;

목록 < 유형 > 목록이름 = 새 목록 < 유형 > { v1 , v2 , v3 , ... } ;

가치 추가:

C# 배열에는 특정 크기가 있다는 점을 기억하는 것이 중요합니다. 다른 크기가 필요한 경우 원하는 크기(현재 길이 + 새 값 수)로 새 배열 “newArr”을 생성해야 합니다. 원래 배열 'OrgArr'을 새 배열에 추가하고 새 배열의 새 위치에 새 값을 할당하고 새 배열에 대한 참조를 업데이트합니다.



정렬. 복사 ( OrgArr , 새로운 도착 , OrgArr. 길이 ) ;

새로운 도착 [ OrgArr. 길이 ] = 14 ; // 새로운 값

새로운 도착 [ OrgArr. 길이 + 1 ] = 2 ; // 새로운 값

OrgArr = 새로운 도착 ; // 참조 업데이트 int[] NewArr = new int[OrgArr.Length + 2];

목록은 크기 관리 측면에서 유연성을 제공합니다. 목록이 초기화되면 초기 용량으로 시작하지만 더 많은 요소가 추가되면 자동으로 확장될 수 있습니다. 이 동적 크기 조정 기능을 통해 목록은 변화하는 요구 사항에 적응할 수 있습니다. C# 목록은 목록에 값을 추가하는 Add() 함수를 제공합니다. C# 목록에 값을 추가하는 방법은 다음과 같습니다.





배열과 목록 : C에서의 사용법 비교 #

값에 접근하기

배열 번호의 값은 인덱스 표기법 []을 사용하여 액세스됩니다. 즉, 괄호 안의 인덱스 번호를 사용하여 다른 변수에 저장됩니다.

유형 요소 = 배열 이름 [ 색인 ] ;

C# 목록의 값에 액세스하려면 배열과 유사한 원하는 인덱스 위치와 함께 인덱스 표기법 []을 사용할 수도 있습니다.



유형 요소 = 목록 이름 [ 색인 ] ;

값 제거

배열에는 정해진 길이가 있습니다. 따라서 요소를 제거하려면 더 작은 크기로 새 배열을 만들고 기존 요소를 복사해야 합니다. 이는 '값 추가' 섹션에 설명된 대로 Array.Copy() 함수를 사용하여 수행할 수 있습니다. C# 목록에서는 값을 제거하는 것이 훨씬 간단하고 직관적입니다. List 클래스는 목록에서 특정 값을 제거할 수 있는 'remove' 메서드를 제공합니다.

목록이름. 제거하다 ( 요소 ) ;

값 계산

C# 배열의 값을 계산하려면 배열의 길이 속성을 사용할 수 있습니다. length 속성은 배열의 총 값 수를 제공합니다.

정수 세다 = arrayName. 길이 ;

C# 목록의 값을 계산하려면 목록의 '계산' 기능을 사용할 수 있습니다. 현재 목록에 있는 요소의 총량도 마찬가지로 'count' 속성에 의해 반환됩니다.

정수 세다 = 목록이름. 세다 ;

값 반복

C# 배열의 값을 반복하려면 배열 길이를 루프 조건으로 사용하여 'for' 루프를 사용할 수 있습니다.

~을 위한 ( 정수 = 0 ; < 배열 이름. 길이 ; ++ ) {

e를 입력하세요 = 배열 이름 [ ] ;

콘솔. WriteLine ( 그것은 ) ;

}

C# 목록의 값을 반복하려면 요소를 자동으로 반복하여 반복 프로세스를 단순화하는 'foreach' 루프를 사용할 수 있습니다.

각각 ( listName에 e를 입력하세요. ) {

콘솔. WriteLine ( 그것은 ) ;

}

예제 1: C# 배열

주어진 코드는 길이가 5인 'Arr'이라는 정수 배열을 선언 및 초기화하고 해당 요소에 값을 할당합니다. 배열 요소에 할당된 값은 11, 12, 13, 14 및 15입니다. 그런 다음 코드는 'for' 루프를 사용하여 배열 요소를 표시합니다. 모든 구성 요소는 Console.WriteLine() 메서드를 사용하여 고유한 줄에 표시됩니다.

원래 요소를 표시한 후 코드는 새 값 10을 할당하여 인덱스 2의 요소를 수정합니다. 다음으로 코드는 'for' 루프를 사용하여 요소를 다시 반복하여 수정된 배열을 표시합니다. 마지막으로 코드는 배열의 길이를 산출하는 'Arr.Length' 속성을 사용하여 배열에 있는 값의 총 개수를 표시합니다.

시스템 사용 ;

클래스 더미 {

공전 무효의 기본 ( ) {

정수 [ ] 도착 = 새로운 정수 [ 5 ] { 열하나 , 12 , 13 , 14 , 열 다섯 } ;

콘솔. 쓰기라인 ( '강요:' ) ;

~을 위한 ( 정수 = 0 ; < 도착. 길이 ; ++ )

{

콘솔. 쓰기라인 ( 도착 [ ] ) ;

}

도착 [ 2 ] = 10 ;

콘솔. 쓰기라인 ( '수정된 배열:' ) ;

~을 위한 ( 정수 = 0 ; < 도착. 길이 ; ++ )

{

콘솔. 쓰기라인 ( 도착 [ ] ) ;

}

콘솔. 쓰기라인 ( '요소 수: ' + 도착. 길이 ) ;

}

}

예제 2: C# 목록

제공된 다음 코드는 C# 목록을 사용하여 정수 컬렉션을 저장하고 조작하는 방법을 보여줍니다. 먼저 코드는 5개의 정수(11, 12, 13, 14, 15)를 사용하여 'Arr'이라는 목록을 초기화합니다. 이는 초기화 구문과 함께 List 클래스 및 해당 생성자를 사용하여 수행됩니다.

다음으로, 프로그램은 'Elements:' 메시지를 인쇄하고 'foreach' 루프를 사용하여 목록의 각 요소를 반복합니다. 각 반복 중에 현재 요소는 Console.WriteLine() 메서드를 사용하여 콘솔에 인쇄됩니다.

그런 다음 코드는 값 10(Arr[2] = 10)을 할당하여 목록의 인덱스 2에 있는 값을 수정합니다. 이 줄은 목록의 세 번째 요소를 13에서 10으로 변경합니다. 수정 후 프로그램은 'Modified list:' 메시지를 다시 인쇄하고 업데이트된 목록을 반복하여 각 요소를 콘솔에 인쇄합니다. 그런 다음 코드는 'Arr.Count'를 사용하여 목록의 값 수를 표시합니다. 이 속성은 목록에 있는 항목 수를 반환하며 다음 시나리오에서는 5가 됩니다.

마지막으로 코드는 Arr.Remove(4) 메서드를 사용하여 목록에서 값이 4인 요소를 제거합니다. 이 메서드는 목록에서 지정된 값을 검색하고 첫 번째 항목을 제거합니다. 마지막으로 프로그램은 '제거 후 목록:' 메시지를 인쇄하고 목록을 한 번 더 반복하여 제거 작업 후 남은 각 요소를 표시합니다.

시스템 사용 ;

시스템을 사용합니다. 컬렉션 . 일반적인 ;

클래스 더미 {

공전 무효의 기본 ( ) {

목록 < 정수 > 도착 = 새 목록 < 정수 > ( ) { 열하나 , 12 , 13 , 14 , 열 다섯 } ;

콘솔. 쓰기라인 ( '강요:' ) ;

각각 ( 정수 n 도착 )

{

콘솔. 쓰기라인 ( N ) ;

}

도착 [ 2 ] = 10 ;

콘솔. 쓰기라인 ( '수정된 목록:' ) ;

각각 ( 정수 n 도착 )

{

콘솔. 쓰기라인 ( N ) ;

}

콘솔. 쓰기라인 ( '요소 수: ' + 도착. 세다 ) ;

도착. 제거하다 ( 4 ) ;

콘솔. 쓰기라인 ( '제거 후 목록:' ) ;

각각 ( 정수 n 도착 )

{

콘솔. 쓰기라인 ( N ) ;

}

}

}

결론

이 가이드에서는 C# 배열과 C# 목록 간의 기본 구문 차이점을 다루었습니다. 배열은 길이가 고정되어 있으며 인덱스로 액세스되는 반면, 목록은 동적으로 크기가 지정되고 요소를 추가하고 제거하는 추가 방법을 제공합니다. 이와 함께 요소 선언, 초기화, 액세스, 수정, 계산 및 추가를 보여주는 C# 목록 프로그램을 제공했습니다.