Вы должны использовать For
-loop, вы не можете изменить строку с помощью For Each
:
Sub RemoveFirstChar(ByRef myList As List(Of String))
For i As Integer = 0 To myList.Count - 1
Dim str As String = myList(i)
myList(i) = str.Substring(2)
Next
End Sub
Вы можете изменить объект For Each
, но так как строки неизменяемыВы не можете изменить их, но вам нужно заменить их.Вы не можете заменить весь объект в For Each
, следовательно, вам нужно For
.
Но обратите внимание, что это удалит первые два символа (индексы равны нулю в .NET), а также не 't проверьте, равна ли длина строки> = 2. Так что это, похоже, то, что вам нужно:
myList(i) = If(str.Length >= 1, str.Substring(1), str)