title: What is LenB actually doing on none string parameters
body: <p>I have this bit of code that is being converted from vb6 to vb.net. I need to know what LenB is doing in this bit of code.</p>
  
  <pre><code>Dim singleValue As Single 'var for conversion use(4byte -&gt; 1single)'
  Dim bytes() As Byte
  Dim valueB() As Byte 'this gets set elsewhere and is redim-d to its size'
  
  For n = 0 To CDbl(ItemNumberCombo.Text) - 1
      'bytes() -&gt; single'
      'UPGRADE_ISSUE: LenB function is not supported.'
      ReDim bytes(LenB(singleValue) - 1)
      bytes(3) = valueB(n * 4)
      bytes(2) = valueB(n * 4 + 1)
      bytes(1) = valueB(n * 4 + 2)
      bytes(0) = valueB(n * 4 + 3)
      'UPGRADE_ISSUE: LenB function is not supported.'
      'UPGRADE_ISSUE: VarPtr function is not supported. '
      Call memcpy(VarPtr(singleValue), VarPtr(bytes(0)), LenB(singleValue))
      'display the result'
      DText(n).Text = VB6.Format(singleValue, "0.000000E+00") 'CStr(singleValue)'
      If DataSaveCheckBox.CheckState = 1 And FileNameText.Text &lt;&gt; "" Then
          csvOutput = csvOutput &amp; DText(n).Text &amp; ","
      End If
  Next n
  </code></pre>
  
  <p>Am I right in thinking that bytes is always ReDim'ed to the same size? By the looks of it 4 elements.</p>
  
  <p>Why then use LenB to ReDim if you could just use a number? And why ReDim in the loop at all?</p>