KeiStory

C# Array.ConvertAll 사용하기

 

C#에서 Array.ConvertAll 메서드는 배열의 각 요소를 지정된 형식으로 변환하는 데 사용됩니다.

이 메서드는 변환 함수를 매개변수로 받아 배열의 모든 요소에 이 함수를 적용한 후, 결과를 새 배열로 반환합니다.

기본 사용법

Array.ConvertAll 메서드의 기본 형태는 다음과 같습니다.

public static TOutput[] ConvertAll<TInput, TOutput>(TInput[] array, Converter<TInput, TOutput> converter)

TInput: 입력 배열의 요소 타입

TOutput: 출력 배열의 요소 타입

array: 변환할 입력 배열

converter: 각 요소를 변환하는 함수 (예: x => 변환 로직) 예제

 

다음은 Array.ConvertAll을 사용하는 간단한 예제들입니다.

예제1 : 문자열 배열을 숫자 배열로 모두변환하기

string[] str = "1,2,3,4,5,6".Split(',');
int[] convertInts = Array.ConvertAll(str, int.Parse);

 

예제 2: 정수 배열을 문자열 배열로 변환하기

int[] numbers = { 1, 2, 3, 4 };
string[] strings = Array.ConvertAll(numbers, element => element.ToString());

foreach (string str in strings)
{
    Console.WriteLine(str);  // 출력: "1", "2", "3", "4"
}

 

예제 3: 문자열 배열에서 각 문자열의 길이를 구하는 예제

string[] words = { "hello", "world", "C#" };
int[] lengths = Array.ConvertAll(words, word => word.Length);

foreach (int length in lengths)
{
    Console.WriteLine(length);  // 출력: 5, 5, 2
}

 

예제 4: 객체 배열을 다른 형태의 객체 배열로 변환하기

DateTime[] dates = { new DateTime(2022, 1, 1), new DateTime(2022, 12, 31) };
string[] dateStrings = Array.ConvertAll(dates, date => date.ToShortDateString());

foreach (string date in dateStrings)
{
    Console.WriteLine(date);  // 출력: "01/01/2022", "12/31/2022"
}

 

Array.ConvertAll은 배열의 타입을 변경하거나, 복잡한 데이터 구조에서 특정 값을 추출할 때 유용하게 사용할 수 있습니다.

이 메서드를 사용함으로써 기존 배열의 구조를 유지하면서도 새로운 형태로의 데이터 변환이 용이해집니다.

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band