2016-01-21 2 views
-3

Je suis converti ce code de C# mais il donne une erreur var n'est pas définir pouvez-vous s'il vous plaît me donner une suggestion quoi faire, Je suis nouveau sur vb.net. Que puis-je utiliser au lieu de varConvertis mon code de C# en VB.NET et maintenant il jette une erreur de var

 If searchCriteria = "Title" Then 
      Dim Searchresults As New List(Of SearchResultsTitle)() 
      Dim searchfields As String() = New String() {"title", ""} 
      Dim queryparser = New QueryParser(Lucene.Net.Util.Version.LUCENE_29, "title", analyzer) 
      Dim indexSearcher As New IndexSearcher(directory) 
      Dim hits = indexSearcher.Search(QueryMaker(searchString, searchfields)) 
      Dim dt As New DataTable() 
      Dim SrNo As Integer = 1 
      For i As Integer = 0 To hits.Length() - 1 
       Dim result As New SearchResultsTitle() 
       result.SrNo = SrNo 
       result.Title = hits.Doc(i).GetField("title").StringValue() 
       result.Accessionno = hits.Doc(i).GetField("AccessionNo").StringValue() 
       result.Author = hits.Doc(i).GetField("Author").StringValue() 
       result.Location = hits.Doc(i).GetField("location").StringValue() 
       result.ClassNo = hits.Doc(i).GetField("ClassNo").StringValue() 
       result.Status = hits.Doc(i).GetField("status").StringValue() 
       Searchresults.Add(result) 
       SrNo = SrNo + 1 
      Next 
      Dim outputText As New StringBuilder() 
      Dim query = queryparser.Parse(txtSearch.Text) 
      Dim result = searcher.Search(query) 

      'now facets 
      Dim facetsText As New StringBuilder() 
      For Each result As<b> Var</b> In GetFacets(query, "title").Where(Function(k) k.Value > 0).OrderByDescending(Function(k) k.Value) 
       facetsText.AppendLine(item.Key + " (" + item.Value + ")") 
      Next 

      Dim doc As New FlowDocument() 
      ' Add paragraphs to the FlowDocument. 
      doc.Blocks.Add(New Paragraph(New Run(outputText.ToString()))) 
      doc.Blocks.Add(New Paragraph(New Run("title"))) 
      doc.Blocks.Add(New Paragraph(New Run(facetsText.ToString()))) 
      rtbResult.Document = doc 


      dGridResults.ItemsSource = Searchresults 

     End If 

Répondre

2

Pour chacun est défini comme:

For Each o As Type In Collection 
     'do something with o 
    Next 

Votre Var dans For Each n'est pas definded. Var doit être un objet type existant. Essayez KeyValuePair (de,) (type de retour de GetFacets (..)) ou quelque chose de similaire à la place. La suppression de As Var est également une option.

+0

Aide de Microsoft: https://msdn.microsoft.com/en-us/library/5ebk1751.aspx – eWilli

+0

Je ne l'ai pas eu, je suis nouveau dans vb.net pouvez-vous s'il vous plaît m'expliquer comment faire cela et merci pour me donner –

+0

comment faire tout cela –