문제

글쎄, 나는 Mamamia라는 물건을 얻었고 그 안에는 문자열 속성이 있습니다. 이 개체의 목록을 만들어 150 개 항목으로 채웠습니다.

나는 list.findall을 사용하려고하지만 나는 그것을하는 방법을 모른다. 나는 이런 식으로 시도했다 :

produto = products.FindAll(delegate(Mamamia cv) {return cv.LocalPackage.Remove(1,21) == cmbPackage.SelectedValue};

대의원이 왜 있는지 모르겠습니다. 인터넷의 다른 코드에서 복사하려고했습니다.

미리 감사드립니다!

도움이 되었습니까?

해결책

대의원은 테스트중인 가치가 원하는 것인지 확인하기 위해 있습니다. 전화 Remove 그래도 가치를 돌리는 것처럼 걱정스럽게 보입니다. 목록을 살펴볼 때는 거의 좋은 일이 아닙니다. 나는 그것이 끈이라면 너무 나쁘지는 않지만, 그것이 당신이 뒤지는 것은 아닐 수도 있습니다 ...

관련된 유형은 무엇이며 무엇을 찾고 있습니까? 아, 그리고 C# 3 및/또는 .NET 3.5를 사용하고 있습니까? 그러면 더 쉬워 질 것입니다 (.NET 2.0에 대한 C# 3조차도 익명 방법 대신 람다 표현식을 사용할 수 있음).

현재 코드를 실행하면 어떻게됩니까? 아무것도 찾지 못한다면, 그것은 그것입니다 5월 참조 평등을 테스트하고 있기 때문에 SelectedValue 보고 object).

이 시도:

produto = products.FindAll(delegate(Mamamia cv) {
    return cv.LocalPackage.Remove(1,21).Equals(cmbPackage.SelectedValue);
});

편집하다:

단일 값 만 원한 것 같습니다. .NET 3.5를 사용하는 경우 처음에 LINQ를 사용하는 것이 더 관용적입니다. 나는 사용할 것이다 :

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
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top