위임자는 테스트중인 값이 원하는 값인지 확인할 수 있습니다. Remove
에 대한 전화는 비록 그것이 가치를 돌연변이시키고있는 것처럼 걱정스럽게 보입니다 - 당신이 목록을 조사 할 때 그것은 거의 좋은 일이 아닙니다. 나는 그것이 당신이 쫓아 오는 것이 아니라고해도 문자열이 그렇다면 너무 나쁘지는 않다고 생각합니다 ...
어떤 유형이 관련되어 있으며 무엇을 찾고 있습니까? 오, C# 3 및/또는 .NET 3.5를 사용하고 있습니까? 그러면 .NET 2.0에 비해 C# 3조차도 익명 메서드 대신 람다 식을 사용할 수 있습니다.
현재 코드를 실행하면 어떤 현상이 발생합니까? 아무것도 찾지 못했다면 은 일 것입니다. 참조 용으로 테스트 중이기 때문일 것입니다 (SelectedValue
이 object
인 경우).
이 시도 :
produto = products.FindAll(delegate(Mamamia cv) {
return cv.LocalPackage.Remove(1,21).Equals(cmbPackage.SelectedValue);
});
편집 :
당신은 단지 하나의 값을 원하는 것 같은데, 당신은 .NET 3.5을 사용하는 경우는 처음에 LINQ를 사용하는 것이 더 관용적 것 장소. 내가 사용하는 것이 : 나는 .NET 3.5을 사용하고 있는데 나는이 코드를 실행하면, 나는 오류 받고 있어요
string selectedText = (string) cmbPackage.SelectedValue;
Mamamia item = products.FirstOrDefault
(cv => cv.LocalPackage.Remove(1,21) == selectedText);
if (item != null)
{
// Found it; otherwise item will be null
}
: 암시 적으로 변환 할 수 없습니다를 유형 'System.Collections.Generic.List 'to'FindMSIProducts.Mamamia Mamamia 객체 목록 안에서 속성을 찾고 있습니다 –
@Felipe :'proxuto' 변수가'List'입니까 아니면'Mamamia' 그 자체입니까? 단일 항목을 리턴하기 원한다면'FindAll'보다는'Find' 메소드를 사용하십시오. 여러 항목을 반환하려는 경우'produto '의 유형을'List '으로 변경하십시오. –
LukeH
produto는 Mamamia 개체이며 제품은 List입니다.이 목록에는 중복 된 항목이있을 수 있으며 모두 반환하려고합니다 –