두 개의 클래스를 가진 리스트 A와 B가 있고, A에 있는 항목 중 B에 있는 항목과 일치하는 것을 제거하여 새로운 리스트를 만들려면 다음과 같은 C# 코드를 사용할 수 있습니다. 이 코드에서는 LINQ를 사용하여 중복 항목을 제거합니다.
예를 들어, 두 개의 클래스 ClassA와 ClassB가 있다고 가정하고, List<ClassA>와 List<ClassB>에 데이터가 저장되어 있다고 가정합니다. 그리고 c와 d는 비교하려는 속성이라고 가정합니다.
using System;
using System.Collections.Generic;
using System.Linq;
public class ClassA
{
public int c { get; set; }
// 다른 속성들...
}
public class ClassB
{
public int d { get; set; }
// 다른 속성들...
}
class Program
{
static void Main()
{
List<ClassA> listA = new List<ClassA>
{
new ClassA { c = 1 },
new ClassA { c = 2 },
new ClassA { c = 3 },
new ClassA { c = 4 }
};
List<ClassB> listB = new List<ClassB>
{
new ClassB { d = 2 },
new ClassB { d = 4 }
};
// listA에서 listB에 있는 항목과 일치하는 것을 제거
List<ClassA> result = listA.Where(a => !listB.Any(b => a.c == b.d)).ToList();
// 결과 출력
Console.WriteLine("제거 후:");
foreach (ClassA item in result)
{
Console.WriteLine(item.c);
}
}
}
반응형
'Programming > 프로그래밍' 카테고리의 다른 글
2개의 클래스 리스트 합치기. (0) | 2023.08.31 |
---|---|
[unity] 파일(또는 오브젝트) 선택시 커스텀 윈도우의 업데이트 방법 2가지 (0) | 2023.07.18 |
[unity] 선택한 파일 Scene으로 가져오는법. (0) | 2023.07.17 |
[unity] 커스텀 윈도우를 다른 윈도우의 탭으로 넣기. (0) | 2022.05.19 |