2016-01-21 28 views
-3

我将c#转换成了代码,但是它给出了一个错误var没有定义 请问你能给我一个建议怎么办,我是vb.net的新手。我可以用它代替VAR将我的代码从C#转换为VB.NET,现在它抛出了一个错误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 

回答

2

对于每个什么被定义为:

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

你在For EachVar不definded。 Var必须是现有的对象类型。尝试KeyValuePair(的,)(返回类型的GetFacets(..))或类似的东西。删除As Var也是一个选项。

+0

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

+0

我没有明白,我是新的vb.net可以请你解释我该怎么做,谢谢给我答案 –

+0

如何做到这一切 –

相关问题