пуш в массив vb.net 2008 - PullRequest
       14

пуш в массив vb.net 2008

1 голос
/ 23 июня 2010

сообщение было переменной j используется до того, как ему было присвоено значение. Если на языке php это вообще не проблема.

Dim j() As String
        Dim i As Integer
        If (i = 1) Then
            j(0) = "x"
        Else
            j(0) = "d"
        End If

1 Ответ

3 голосов
/ 23 июня 2010

на языке php, это совсем не проблема.

php не использует реальные массивы. Реальный массив - это непрерывный блок памяти. Php использует тип collection с семантикой, подобной массиву. Они называют это массивом, но это не совсем так. Коллекции редко дают такие же гарантии непрерывности из-за проблем с производительностью, вызванных ростом коллекции во время выполнения.

Если вам нужны php-массивы в .Net, вам нужно сделать то же самое, что и php, и использовать коллекцию. Тип System.Collections.Generics.List<T> работает довольно хорошо. Затем вы можете добавить в список, используя метод .Add() или синтаксис инициализатора коллекции, показанный ниже (требуется Visual Studio 2010):

Dim i As Integer = 1
Dim j As New List(Of String) From { If(i = 1, "x","d") }

Мы можем простить php, что это ошибка именования, поскольку реальные массивы следует использовать с осторожностью. Коллекция почти всегда более уместна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...