2010-06-23 6 views
1

le message était variable j est utilisé avant d'avoir été affecté valeur.Si en langage PHP, ce n'est pas un problème du tout.push to array vb.net 2008

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

Répondre

3

en langage php, ce n'est pas un problème du tout. Php n'utilise pas de tableaux réels.

php n'utilise pas de tableaux réels. Un véritable tableau est un bloc de mémoire contigu. Php utilise un type de collection avec une sémantique de type tableau. Ils appellent ça un tableau, mais ce n'est pas vraiment. Les collections offrent rarement les mêmes garanties de continuité à cause des problèmes de performances provoqués par le développement de la collection au moment de l'exécution.

Si vous voulez des "tableaux" de style php dans .Net, vous devez faire la même chose que php et utiliser une collection. Le type System.Collections.Generics.List<T> fonctionne plutôt bien. Ensuite, vous pouvez ajouter à la liste en utilisant sa méthode .Add() ou en utilisant la syntaxe collection de initialiseur démontré ci-dessous (nécessite Visual Studio 2010):

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

Nous pouvons pardonner php il est nommer lapse, cependant, sous forme de tableaux réels devraient être utilisés avec parcimonie. Une collection est presque toujours plus appropriée.

+0

J'ai obtenu la réponse mais le diffares ways.Vb.net assignent le tableau comme allocation. Donc s'il n'y avait pas d'allocation, donc ne peut pas être analysé. [pre] [code] Dim m comme nombre entier m = 9 Dim j (m) As String Dim i As Integer i = 1 Si (i = 1) alors j (0) = "x" Sinon j (0) = "d" Fin Si MsgBox (j (0)) [/ code] [/ pre> – hafizan