C#의 SetValue() 메서드는 1차원 배열(Array)에서 지정된 위치의 요소에 값을 설정할 때 사용됩니다. 이때 인덱스는 32비트 정수(int) 형태로 전달됩니다.
배열 생성하기
먼저 Array.CreateInstance() 메서드를 사용하여 문자열(String) 타입의 요소 6개를 담을 수 있는 배열을 생성합니다.
Array arr = Array.CreateInstance(typeof(String), 6);
SetValue()로 요소에 값 설정하기
생성된 배열의 각 요소에는 SetValue() 메서드를 통해 값을 할당할 수 있습니다. 첫 번째 매개변수는 설정할 값이고, 두 번째 매개변수는 해당 요소의 인덱스입니다.
arr.SetValue("One", 0);
arr.SetValue("Two", 1);
arr.SetValue("Three", 3);
arr.SetValue("Four", 4);
arr.SetValue("Five", 5);
위 코드에서는 인덱스 2에 값이 설정되지 않았으므로 해당 위치의 요소는 비어 있는 상태(null)로 유지됩니다. 이처럼 SetValue() 메서드를 사용하면 원하는 인덱스에 선택적으로 값을 지정할 수 있습니다.
전체 예제 코드
다음은 C#에서 SetValue() 메서드를 사용하는 방법을 보여주는 완전한 예제입니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Demo {
class Program {
static void Main(string[] args) {
Array arr = Array.CreateInstance(typeof(String), 6);
arr.SetValue("One", 0);
arr.SetValue("Two", 1);
arr.SetValue("Three", 3);
arr.SetValue("Four", 4);
arr.SetValue("Five", 5);
Console.WriteLine("Length {0}", arr.GetLength(0).ToString());
Console.ReadLine();
}
}
}
실행 결과
Length 6
GetLength(0) 메서드는 배열의 첫 번째 차원 길이, 즉 배열에 포함된 총 요소 수를 반환합니다. 따라서 위 예제에서는 요소가 6개인 배열이므로 6이 출력됩니다.