source

LINQ를 사용하여 개체 목록에서 고유한 속성 목록을 가져오려면 어떻게 해야 합니까?

factcode 2023. 5. 24. 22:27
반응형

LINQ를 사용하여 개체 목록에서 고유한 속성 목록을 가져오려면 어떻게 해야 합니까?

LINQ를 사용하여 id가 속성인 개체 목록이 지정된 id 목록을 반환하려고 합니다.저는 각 개체를 반복하지 않고 제가 찾은 고유한 ID를 추출하지 않고 이 작업을 수행할 수 있습니다.

MyClass 유형의 개체 목록이 있으며 이 클래스의 속성 중 하나는 ID입니다.

public class MyClass
{
  public int ID { get; set; }
}

LINQ 쿼리를 작성하여 해당 ID 목록을 반환하고 싶습니다.

어떻게 해야 하나요?IList<MyClass>그것이 반환하는 것IEnumerable<int>신분증이요?

MyClass 목록의 각 항목을 반복하여 목록에 고유한 값을 추가하는 대신 LINQ를 사용하여 한 줄 또는 두 줄로 수행할 수 있어야 합니다.

IEnumerable<int> ids = list.Select(x=>x.ID).Distinct();

고유 연산자 사용:

var idList = yourList.Select(x=> x.ID).Distinct();

직선 LINQ를 사용하는 경우,Distinct()확장명:

var idList = (from x in yourList select x.ID).Distinct();

디스트릭트를 찍을 때는 IEnumberable에도 캐스팅을 해야 합니다.목록이 <T> 모델이면 다음과 같은 코드를 작성해야 합니다.

 IEnumerable<T> ids = list.Select(x => x).Distinct();
int[] numbers = {1,2,3,4,5,3,6,4,7,8,9,1,0 };
var nonRepeats = (from n in numbers select n).Distinct();

foreach (var d in nonRepeats)
{

    Response.Write(d);
}

산출량

1234567890

언급URL : https://stackoverflow.com/questions/568347/how-do-i-use-linq-to-obtain-a-unique-list-of-properties-from-a-list-of-objects

반응형