C#

LINQ Zip 사용법

지오준 2021. 7. 25.
반응형

Zip는 데이터 컬렉션(List, Array, Dictionay)의 각각의 요소를 병합할 때 사용됩니다.

다른 형태의 컬렉션도 타입이 맞는다면 병합이 가능합니다.

특이사항으로는 Concat와 다른점은 각각의 스퀀스(순번)가 맞는 요소간의 병합만 가능하다는 점이 다릅니다.

샘플코드는 숫자 데이터의 덧셈 결과를 확인할 수 있습니다. 

public static class Program
{
	static void Main(string[] args)
	{
		// 숫자데이터1,2 샘플데이터 생성
		int[] numbers1 = new int[] { 1, 2, 3, 4, 5 };
		float[] numbers2 = new float[] { 5, 4, 3 };

		// 숫자데이터1 + 숫자데이터2의 덧셈 처리
		IEnumerable<string> results = numbers1.Zip(numbers2,
		(number1, number2) => (number1 + number2).ToString());

		// 숫자데이터1 출력
		System.Console.WriteLine("numbers1:{0}", numbers1.Value());

		// 숫자데이터2 출력
		System.Console.WriteLine("numbers2:{0}", numbers2.Value());

		// 숫자데이터1 + 숫저데이터2 결과 출력
		System.Console.WriteLine("results :{0}", results.Value());

		System.Console.ReadKey();
	}

	/// <summary>
	/// 숫자데이터 출력관련 메서드
	/// </summary>
	public static string Value(this IEnumerable items)
	{
		var value = string.Empty;
		//숫자데이터의 요소만큼 출력
		foreach (var item in items)
		{
			value += string.Format(" [{0}], ", item);
		}
		//출력시에 불필요한 "," 삭제
		return value.Remove(value.LastIndexOf(','), 1);
	}
}

결과값

LinqSample11.zip
0.18MB

반응형

'C#' 카테고리의 다른 글

LINQ Except 사용법  (0) 2021.07.27
LINQ BinarySearch 사용법  (0) 2021.07.26
LINQ Concat 사용법  (0) 2021.07.24
LINQ Left Outer Join 사용법  (0) 2021.07.23
LINQ Inner Join 사용법  (2) 2021.07.22

댓글