Mid function I dreamed up for .Net

Very slow as far as I can tell lol

Ok what am I doing wrong?
Private Function sMid(ByVal Str As String, ByVal Position As Int32, ByVal
Length As Int32) As String

Dim b() As Byte

Dim s As String

Dim h As New System.Text.ASCIIEncoding()

b = h.ASCII.GetBytes(Str)

Dim x As Int32

Dim ch As Char

Dim sb As StringBuilder

Position = Position - 1

For x = Position To ((Position + (Length)) - 1)

s = s & Chr(b.GetValue(x))

Next

Return s

End Function