2012-08-01 2 views
1

개체 목록이 있으며이를 검색하여 myobject.articleID가 특정 articleID와 일치하는지 확인하려고합니다. 내가 사용하는 것을 모아서 .Find (Of T)가 이것을 수행하는 가장 좋은 방법이지만, 구현하는데 어려움이 있습니다.목록의 개체 검색

<WebMethod()> _ 
Public Function SetTagOnFavorite(ByVal articleID As Integer, ByVal tagtext As String, ByVal mobileGUID As String) As AddTagResult 
    Dim result As New AddTagResult 
    Dim userID As Long = GetUserIDByMobileGUID(mobileGUID) 


    If userID > 0 Then 
     Dim pageNum As Integer = 1 
     Dim pageLen As Integer = 500 'arbitrarily large number 
     Dim savedArticleList As New List(Of SimpleArticle) 
     savedArticleList = GetSavedArticles(mobileGUID, pageNum, pageLen) 

     If savedArticleList.Find(Function(m As SimpleArticle) m.articleID = articleID) 


      Dim lq As New lqDFDataContext 
      Dim var = lq.web_AddTagToArticle(userID, articleID, tagtext).ToList() 

      If var.Any() Then 
       Dim vRes = var.First() 
       result.articletagID = vRes.articletagID 
       result.newarticletag = vRes.newarticletag 
       result.newusertag = vRes.newusertag 
       result.usertagID = vRes.usertagID 
       result.resultinfo = "Success." 

      End If 
     End If 
    Else 
     result.resultinfo = STR_NoUserIDMostLikelyTheSessionTimedOut 
    End If 
    Return result 
End Function 

내가 오류가 "형 SimpleArticle의 값이 부울로 변환 할 수 없습니다"입니다 : 여기에 지금까지 가지고 몇 가지 코드입니다.

If savedArticleList.Find(Function(m As SimpleArticle) m.articleID = articleID) 

If savedArticleList.Find(Function(m As SimpleArticle) m.articleID = articleID) IsNot Nothing 

또는 발견 된 항목을 필요로하는 경우, 로컬 변수에 Find의 결과를 저장

에 : Find(Of가 발견 된 개체를 반환하기 때문에

답변

4

, 당신은이 라인을 변경해야 . 당신은으로 더 @의 competent_tech의 답변을 최적화 할 수

+0

, 대단히 감사합니다! – xxyyxx

3

:이 일을

If savedArticleList.Any(Function(m) m.articleID = articleID))