LINQ를 사용하여 목록에서 데이터 개체 그룹을 찾고 싶습니다. 나는 현재 컬렉션에서 필요한 것을 찾기 위해 반복하고있다.목록에서 LINQ 사용
저는 온라인에서 많은 예제를 검색하고 읽었지만 필자가 필요로하는 것은 충분히 이해할 수 없습니다.
검색하려는 데이터 개체를 내 코드에서 "속성"이라고합니다. 속성에는 "속성"의 일반 목록이 있습니다. 속성에는 이름과 값이라는 두 개의 항목이있는 문자열의 일반 목록이 있습니다. 목록
데이터 :
인구와 재산의Property_Data
{
Attribute {name="Color" value=""}
Attribute {name="Size" value=""}
Attribute {name="Width" value=""}
Attribute {name="Display" value=""}
}
예는 다음
My_Property
Color = black
Size = 12
Width = 2
Display = True
내가 각 속성 객체를 반복 내가 사용하는 코드는 내가의 컬렉션의 각 항목을 반복되는 속성 "Display"라는 이름과 "True"값을 가진 속성을 검색하는 속성. 내가 배우고 싶은 무엇
foreach (IPropertyData prop_data in Properties)
{
if (prop_data.Attributes.Find(a => a.Name == "Display").Value == "True")
{
// do something here
}
}
는 속성 데이터의 수집은 그래서 각 속성과 속성의 다음 속성을 반복 할 필요는 없습니다 LINQ를 사용하는 것은 개체를 검색하는 방법입니다. 여기
는 나의 시도이다 : 당신이 당신의 질문 업데이트 후 전체 모음 다음Properties.ForEach(item=> {
if(item.Attributes.Any(cc=>cc.Name == "Display" && cc.Value == "True"))
{
// Do your work.
}
});
을 고려하면
IEnumerable<IPropertyData> prop_datas = Properties
.Where(p => p.Attributes.Where(a => a.Name == "isDisplayable" && a.Value == "True");
내가했던 것은 속성 컬렉션에서 검색하는 방법 이었지만 각 속성 데이터 개체는 검색하지 않았습니다. LINQ에서 시도한 내용을 포함하도록 질문을 업데이트했습니다. "Properties"객체에서 검색 중이며 각 속성에 대해 반복하지는 않습니다. –
내가 작성한 두 가지 업데이트를 확인하십시오. – dotnetstep
Jon Skeet은 LINQ의 작동 방식을 실제로 볼 수있는 edulinq라는 블로그 게시물을 많이 보유하고 있습니다. http://codeblog.jonskeet.uk/category/edulinq/. 이 모든 방법을 배우는 것이 제 2의 천성이되도록 가치가 있습니다. –