(1) Change
string[] TempArray = new string[TheString.Length - 1 / StringLen];
to
string[] TempArray = new string[(TheString.Length - 1) / StringLen];
to match VB code
ReDim TempArray((Len(TheString) - 1) \ StringLen)
(2) The indexing is zero based in C#, so, to avoid an exception, you probably need to change
for (I = 1; I <= TheString.Length; I += StringLen)
to
for (I = 0; I < TheString.Length; I += StringLen)
(3) Use the C# string classes Mid method
TempArray[Arrcount] = TheString.Mid(I, StringLen);
(4) Don't assume a one to one translation, verify function/method usage and language equivalencies. Then start debugging - the unit test is your friend.