C# LINQ 리스트에 중복된 값을 제거 하고 취득 하는 방법

C#에서 리스트(List)에 값을 저장한 경우 중복된 값이 포함되어 있는 경우가 있습니다.

중복된 값이 저장된 상태로 출력을 하게 되면 같은 값이 여러번 출력됩니다.

값을 출력할 때 중복된 값을 한 번만 표시하게 하도록 중복된 값을 제거하는 방법을 보도록 하겠습니다.

 

중복 제거 Distinct

리스트에 중복된 값을 제거하기 위해 LinqDistinct를 사용하여 간단하게 처리할 수 있습니다.

Distinct 예제

using System;
using System.Linq;
using System.Collections.Generic;

namespace LinqTest
{
	class MainClass
	{
		public static void Main(string[] args)
		{
			var list = new List<int> { 1, 84, 75, 75, 40, 6 ,1};

			// 변수 list에서 중복된 값을 제거하고 취득
			var distinctList = list.Distinct();
			
			Console.WriteLine("=== distinctList ===");
			foreach (var x in distinctList)
			{
				Console.WriteLine(x);
			}
		}
	}
}

 

결과

=== distinctList ===
1
84
75
40
6

 

변수 list에는 1과 75가 두 번씩 들어가 있습니다.

하지만 Distinct를 사용하여 중복된 값을 제거했기 때문에 출력 결과에는 한 번만 표시되고 있습니다.

댓글