2010-06-23 2 views
1

메시지가 변수 j는 값이 할당되기 전에 사용됩니다. PHP 언어에서는 전혀 문제가되지 않습니다. PHP 언어배열에 푸시 vb.net 2008

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

답변

3

, 그것은 전혀 문제가되지 않습니다.

PHP는 실제 배열을 사용하지 않습니다. 실제 배열은 인접한 블록 메모리입니다. PHP는 콜렉션 유형을 배열과 비슷한 의미로 사용합니다. 그들은 배열이라고 부르지 만 실제로는 아닙니다. 컬렉션은 런타임에 컬렉션이 커질 때 발생하는 성능 문제로 인해 연속성에 대해 거의 동일한 종류의 보장을합니다.

.Net에서 PHP 스타일의 "배열"을 원한다면 PHP와 동일한 작업을 수행하고 컬렉션을 사용해야합니다. System.Collections.Generics.List<T> 형식은 꽤 잘 작동합니다. 그럼 당신은 .Add() 방법을 사용하거나 아래 보여 컬렉션 이니셜 라이저 구문을 사용하여 목록에 추가 할 수 있습니다 (비주얼 스튜디오 2010 필요) :

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

실제 배열을 사용해야로서 우리는, 비록이 경과 명명있어 PHP는, 용서할 수 아껴서. 컬렉션은 거의 항상 더 적절합니다.

+0

나는 답을 얻었지만 diffirent ways.Vb.net 할당으로 배열을 할당했다. 그래서 할당되지 않은 경우 그래서 구문 분석 할 수 없습니다. [중고] 코드] 어둡게 m로서 문자열 어둡게로서 정수 m = 9 어둡게 J (m) 나 정수 로서 I = 1 경우 (I = 1) 다음 J (0) = "X" Else j (0) = "d" 끝 부분 MsgBox (j (0)) [/ pre> – hafizan

관련 문제