인덱싱과 길이
요소에 안전하게 접근해 보세요.
인덱싱과 길이은(는) CoddyKit의 무료 C# Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C# Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
인덱스로 읽기
배열의 각 요소에는 인덱스라는 위치가 있습니다. 배열 이름 뒤의 대괄호 안에 인덱스를 넣어 값을 읽습니다.
인덱스는 0에서 시작하므로 가장 첫 번째 요소의 인덱스는 0입니다.
string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[0]); // Mon0부터 시작하는 계산
인덱스는 0부터 시작하므로 두 번째 요소의 인덱스는 1이고 세 번째 요소의 인덱스는 2입니다.
이러한 0부터 시작하는 계산은 초보자를 혼란스럽게 하므로 다음을 기억해 두십시오. 인덱스 = 위치 - 1입니다.
string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[1]); // Tue
Console.WriteLine(days[2]); // Wed요소 변경하기
해당 인덱스에 새 값을 할당하여 어떤 요소든 덮어쓸 수 있습니다.
여기서는 인덱스 1의 값을 바꿉니다. 배열의 길이는 변하지 않고 저장된 값만 바뀝니다.
int[] nums = { 5, 6, 7 };
nums[1] = 99;
Console.WriteLine(nums[1]); // 99Length 속성
모든 배열에는 포함된 요소의 개수를 알려 주는 Length 속성이 있습니다.
따라서 크기를 직접 기억해 둘 필요가 없어 편리합니다.
int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums.Length); // 4마지막 요소
계산이 0부터 시작하므로 마지막 유효 인덱스는 항상 Length - 1입니다.
Length - 1을 사용하면 숫자를 직접 지정하지 않고도 마지막 요소를 찾을 수 있습니다.
int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[nums.Length - 1]); // 8끝에서부터 인덱스를 세는 연산자
C#에서는 ^ 연산자를 사용하여 끝에서부터 세는 단축 방법을 제공합니다. ^1은 마지막 요소를, ^2는 끝에서 두 번째 요소를 의미합니다.
Length - 1을 작성하지 않고도 끝의 요소를 가져올 수 있는 깔끔한 방법입니다.
int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[^1]); // 8전체 프로그램
이 완성된 프로그램은 첫 번째 요소, 마지막 요소, 전체 길이를 출력합니다.
실행하여 세 값이 모두 나타나는 모습을 확인해 보십시오.
int[] nums = { 10, 20, 30 };
Console.WriteLine("First: " + nums[0]);
Console.WriteLine("Last: " + nums[nums.Length - 1]);
Console.WriteLine("Count: " + nums.Length);범위를 벗어난 오류
너무 크거나 음수인 인덱스를 사용하면 C#에서 IndexOutOfRangeException을 발생시키고 프로그램이 충돌합니다.
길이가 3인 배열에서 유효한 인덱스는 0, 1, 2뿐입니다. 인덱스 3은 범위를 한 단계 벗어납니다.
int[] nums = { 1, 2, 3 };
// nums[3] would throw IndexOutOfRangeException
Console.WriteLine(nums[2]); // safe: 3접근 전에 확인하기
충돌을 방지하려면 인덱스를 사용하기 전에 인덱스가 범위 안에 있는지 확인하십시오.
안전한 인덱스는 0 이상이고 Length보다 작아야 합니다.
int[] nums = { 1, 2, 3 };
int i = 5;
if (i >= 0 && i < nums.Length)
Console.WriteLine(nums[i]);
else
Console.WriteLine("Out of range");계산에 Length 사용하기
Length는 정수일 뿐이므로 가운데 인덱스를 찾는 것과 같은 계산에 사용할 수 있습니다.
여기서는 배열의 중앙 위치를 계산합니다.
int[] nums = { 1, 2, 3, 4, 5 };
int mid = nums.Length / 2;
Console.WriteLine(nums[mid]); // 3Length는 읽기 전용입니다
배열의 크기를 조정하기 위해 Length를 변경할 수는 없습니다. 배열은 생성된 후 크기가 고정됩니다.
다른 크기가 필요하면 새 배열을 만들어야 합니다. 크기를 늘려야 할 때는 List<T>와 같은 컬렉션이 더 적합합니다.
int[] nums = { 1, 2, 3 };
// nums.Length = 5; // error: read-only
Console.WriteLine(nums.Length); // 3빠른 확인
인덱스와 길이에 대한 이해도를 확인해 보십시오.
복습
인덱스로 요소를 읽고 변경하는 방법, 인덱스가 0부터 시작한다는 점, 마지막 인덱스가 Length - 1이라는 점을 배웠습니다.
Length 속성은 요소의 개수를 세고, ^ 연산자는 끝에서부터 셉니다. 범위를 벗어나면 예외가 발생합니다. 다음에는 모든 요소를 반복해서 살펴보겠습니다.
자주 묻는 질문
“인덱싱과 길이” 강의는 무료인가요?
네 — “인덱싱과 길이” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C# Academy 강의 전체를 잠금 해제할 수 있습니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“인덱싱과 길이”에서 뭘 배우나요?
요소에 안전하게 접근해 보세요. 브라우저에서 직접 실행하는 실습 코드로 C# Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
C# Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 C# Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“인덱싱과 길이” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 C# Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 C# Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.