title: Lambda parameter '<parameter>' hides a variable in an enclosing block
body: <p>While running the vb.net...coding is working and I got output with below Error...</p>
  
  <blockquote>
    <p>Lambda parameter '{parameter}' hides a variable in an enclosing block, a previously defined range variable, or an implicitly declared variable in a query expression.</p>
  </blockquote>
  
  <p>How can I solve this error?</p>
  
  <p>Here is the code:</p>
  
  <p>Private Sub ButtonProductAdvertisingAPIItemLookup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonProductAdvertisingAPIItemLookup.Click
          sender.Enabled = False</p>
  
  <pre><code>    'Product Advertising API, ItemLookup: http://docs.aws.amazon.com/AWSECommerceService/2011-08-01/DG/ItemLookup.html
  
      Dim ItemId(9) As String
  
      ItemId(0) = System.Uri.EscapeDataString(TextBoxisbn1.Text)
      ItemId(1) = System.Uri.EscapeDataString(TextBoxisbn2.Text)
      ItemId(2) = System.Uri.EscapeDataString(TextBoxisbn3.Text)
      ItemId(3) = System.Uri.EscapeDataString(TextBoxisbn4.Text)
      ItemId(4) = System.Uri.EscapeDataString(TextBoxisbn5.Text)
      ItemId(5) = System.Uri.EscapeDataString(TextBoxisbn6.Text)
      ItemId(6) = System.Uri.EscapeDataString(TextBoxisbn7.Text)
      ItemId(7) = System.Uri.EscapeDataString(TextBoxisbn8.Text)
      ItemId(8) = System.Uri.EscapeDataString(TextBoxisbn9.Text)
      ItemId(9) = System.Uri.EscapeDataString(TextBoxisbn10.Text)
  
      ' For Each ItemId As String In ItemIds()
  
      Dim i As Integer = 0
      System.Threading.Tasks.Parallel.ForEach(ItemIds, Sub(ItemId)
  
                                                           My.Settings.ItemId = ItemId
  
                                                           Dim MyREST As New SprightlySoftAWS.REST
  
                                                           Dim RequestURL(i) As String
                                                           RequestURL(i) = "https://webservices.amazon.com/onca/xml?Service=AWSECommerceService&amp;Operation=ItemLookup&amp;Version=2011-08-01"
                                                           RequestURL(i) += "&amp;AWSAccessKeyId=AKIAJCA3UI55HFYAXQ6Q&amp;SignatureVersion=2&amp;SignatureMethod=HmacSHA256&amp;Timestamp=" &amp; Uri.EscapeDataString(DateTime.UtcNow.ToString("yyyy-MM-dd\THH:mm:ss.fff\Z"))
                                                           RequestURL(i) += "&amp;AssociateTag=AKIAJCA3UI55HFYAXQ6Q"
                                                           RequestURL(i) += "&amp;ResponseGroup=" &amp; System.Uri.EscapeDataString("ItemAttributes,Large,OfferSummary,Offers,VariationSummary,Reviews")
                                                           RequestURL(i) += "&amp;ItemId=" &amp; System.Uri.EscapeDataString(ItemId)
                                                           RequestURL(i) += "&amp;IdType=ISBN"
                                                           RequestURL(i) += "&amp;SearchIndex=Books"
  
                                                           Dim RequestMethod As String
                                                           RequestMethod = "GET"
  
                                                           Dim SignatureValue As String
                                                           SignatureValue = MyREST.GetSignatureVersion2Value(RequestURL(i), RequestMethod, "", "8igixqKPKWTcsWxgWdqz+rVofSWIPcC3WynhEl1r")
  
                                                           RequestURL(i) += "&amp;Signature=" &amp; System.Uri.EscapeDataString(SignatureValue)
  
                                                           Dim RetBool As Boolean
                                                           RetBool = MyREST.MakeRequest(RequestURL(i), RequestMethod, Nothing)
  
                                                           Debug.Print("")
                                                           Debug.Print(MyREST.LogData)
                                                           Debug.Print("")
  
                                                           Dim Y As Integer
                                                           Dim ResponseMessage As String = ""
  
                                                           If RetBool = True Then
                                                               Dim MyXmlDocument As System.Xml.XmlDocument
                                                               Dim MyXmlNamespaceManager As System.Xml.XmlNamespaceManager
                                                               Dim MyXmlNode As System.Xml.XmlNode
                                                               Dim MyXmlNodeList As System.Xml.XmlNodeList
  
                                                               MyXmlDocument = New System.Xml.XmlDocument
                                                               MyXmlDocument.LoadXml(MyREST.ResponseString)
  
                                                               MyXmlNamespaceManager = New System.Xml.XmlNamespaceManager(MyXmlDocument.NameTable)
                                                               MyXmlNamespaceManager.AddNamespace("amz", "http://webservices.amazon.com/AWSECommerceService/2011-08-01")
  
                                                               MyXmlNodeList = MyXmlDocument.SelectNodes("amz:ItemLookupResponse/amz:Items/amz:Item", MyXmlNamespaceManager)
  
                                                               If MyXmlNodeList.Count = 0 Then
                                                                   ResponseMessage = "Item not found."
                                                               Else
  
                                                                   For Each ItemXmlNode As System.Xml.XmlNode In MyXmlNodeList
                                                                       MyXmlNode = ItemXmlNode.SelectSingleNode("amz:ASIN", MyXmlNamespaceManager)
                                                                       ResponseMessage += "Details of " &amp; MyXmlNode.InnerText
  
                                                                       ResponseMessage += vbCrLf
                                                                       ResponseMessage += vbCrLf
  
                                                                       MyXmlNode = ItemXmlNode.SelectSingleNode("amz:ItemAttributes/amz:Title", MyXmlNamespaceManager)
                                                                       ResponseMessage += "Title = " &amp; MyXmlNode.InnerText
  
                                                                       ResponseMessage += vbCrLf
  
                                                                       MyXmlNode = ItemXmlNode.SelectSingleNode("amz:MediumImage/amz:URL", MyXmlNamespaceManager)
                                                                       ResponseMessage += "Image = " &amp; MyXmlNode.InnerText
  
                                                                       ResponseMessage += vbCrLf
  
                                                                       MyXmlNodeList = ItemXmlNode.SelectNodes("amz:ItemAttributes/amz:Author", MyXmlNamespaceManager)
                                                                       If IsNothing(MyXmlNodeList) = False Then
                                                                           ResponseMessage += "Author = "
                                                                           For Each MyXmlNode In MyXmlNodeList
                                                                               ResponseMessage += MyXmlNode.InnerText &amp; ", "
                                                                           Next
                                                                       End If
  
                                                                       ResponseMessage += vbCrLf
  
                                                                       MyXmlNode = ItemXmlNode.SelectSingleNode("amz:ItemAttributes/amz:ListPrice/amz:FormattedPrice", MyXmlNamespaceManager)
                                                                       ResponseMessage += "ListPrice = "
                                                                       If IsNothing(MyXmlNode) = False Then
                                                                           ResponseMessage += MyXmlNode.InnerText
                                                                       End If
  
                                                                       ResponseMessage += vbCrLf
  
                                                                       MyXmlNode = ItemXmlNode.SelectSingleNode("amz:Offers/amz:Offer/amz:OfferAttributes/amz:Condition", MyXmlNamespaceManager)
                                                                       ResponseMessage += "Condition = " &amp; MyXmlNode.InnerText
  
                                                                       ResponseMessage += vbCrLf
  
                                                                       MyXmlNode = ItemXmlNode.SelectSingleNode("amz:Offers/amz:TotalOffers", MyXmlNamespaceManager)
                                                                       ResponseMessage += "TotalOffers = " &amp; MyXmlNode.InnerText
  
                                                                       ResponseMessage += vbCrLf
  
                                                                       MyXmlNode = ItemXmlNode.SelectSingleNode("amz:OfferSummary/amz:TotalNew", MyXmlNamespaceManager)
                                                                       ResponseMessage += "TotalNew = " &amp; MyXmlNode.InnerText
  
                                                                       ResponseMessage += vbCrLf
  
                                                                       MyXmlNodeList = ItemXmlNode.SelectNodes("amz:OfferSummary/amz:LowestNewPrice/amz:FormattedPrice", MyXmlNamespaceManager)
                                                                       ResponseMessage += "LowestNewPrice = "
                                                                       Y = 0
                                                                       For Each MyXmlNode In MyXmlNodeList
                                                                           If Y &lt; 25 Then
                                                                               ResponseMessage += "" &amp; MyXmlNode.InnerText &amp; "  "
                                                                           End If
                                                                       Next
  
                                                                       ResponseMessage += vbCrLf
  
                                                                       MyXmlNode = ItemXmlNode.SelectSingleNode("amz:OfferSummary/amz:TotalUsed", MyXmlNamespaceManager)
                                                                       ResponseMessage += "TotalUsed = " &amp; MyXmlNode.InnerText
  
                                                                       ResponseMessage += vbCrLf
  
                                                                       MyXmlNode = ItemXmlNode.SelectSingleNode("amz:OfferSummary/amz:LowestUsedPrice/amz:FormattedPrice", MyXmlNamespaceManager)
                                                                       ResponseMessage += "LowestUsedPrice = "
                                                                       If IsNothing(MyXmlNode) = False Then
                                                                           ResponseMessage += "" &amp; MyXmlNode.InnerText
                                                                       Else
                                                                           ResponseMessage += "0"
                                                                       End If
  
                                                                       ResponseMessage += vbCrLf
  
                                                                       'MyXmlNode = ItemXmlNode.SelectSingleNode("amz:SalesRank", MyXmlNamespaceManager)
                                                                       'ResponseMessage += "SalesRank = " &amp; MyXmlNode.InnerText
  
                                                                       'ResponseMessage += vbCrLf
                                                                   Next
                                                               End If
  
                                                               DialogOutput.Text = "Success"
                                                               DialogOutput.TextBoxOutput.Text += vbCrLf &amp; ResponseMessage &amp; vbCrLf
  
  
                                                           Else
                                                               ResponseMessage = FormatLogData(MyREST.RequestURL, MyREST.RequestMethod, MyREST.RequestHeaders, MyREST.ResponseStatusCode, MyREST.ResponseStatusDescription, MyREST.ResponseHeaders, MyREST.ResponseStringFormatted, MyREST.ErrorNumber, MyREST.ErrorDescription)
  
                                                               DialogOutput.Text = "Error"
                                                               DialogOutput.TextBoxOutput.Text = ResponseMessage
                                                               DialogOutput.ShowDialog(Me)
                                                               DialogOutput.Dispose()
                                                           End If
  
                                                           i = i + 1
                                                       End Sub)
      'Next
  
      DialogOutput.ShowDialog(Me)
      ClearTextBox(Me)
      sender.Enabled = True
  End Sub
  </code></pre>
  
  <p>The error shows in the below line (and the error shows in ItemId variable):</p>
  
  <pre><code>System.Threading.Tasks.Parallel.ForEach(ItemIds, Sub(ItemId)
  </code></pre>
  
  <p>I have updated extra code..anyone check and help me ?How to solve this problem?Still i got the error..</p>