-. VB6.0
: 배열첨자의 시작은 기본적으로 0
: Option Base문을 이용하여 1부터 시작하도록 지정 가능
: tmpArr(1 to 10) 가능
: 첨자가 0부터 시작하는 경우 Upper Bound +1이다.
Dim tmpArr(20) as Single : 21개의 요소를 가진다.
-. VB.NET
: 배열 첨자는 0부터 시작
: Option Base 문은 지원하지 않는다.
: 배열 참저는 0 ~ 배열크그 -1 이다.
Dim tmpArr(20) as Single : 20개의 요소를 가진다.
ㅇ. 문자열 길이 지정
-. VB6.0
: 선언시에 문자열의 길이를 지정할 수 있다.
Dim str As String*30
-. VB.NET
: 고정 길이 문자열을 선언할 수 없다.
Dim Name As String*30 '오류발생
Dim Name As String
'길이는 나중에 변경해야 한다.
ㅇ. Variant 유형
-. VB6.0
: Variant 테이터 유형은 모든데이터를 처리할 수 있는 Universal Data Type
-. VB.NET
: Object 유형이 Universal Type
: Variant는 지원되지 않는다.(아직 예약어로 남아 있다.)
ㅇ. 데이터 유형
-. VB6.0
: The Deftype 문장, The Currency 및 Date 유형이 지원
-. VB.NET
: The Deftype 문장이 지원되지 않는다.
: The Currency 데이터 유형이 지원되지 않는다.
- Decimal 유형을 사용
: Date 유형은 CLR의 DateTime을 사용한다.
- VB6.0에서는 Double에 저장되었다.
ㅇ. Boolean 연산자
-. VB6.0
: And, Or, Xor, Not을 Boolean과 Bitwise 연산에 모두 사용
-. VB.NET
: Boolean 연산 : And, Or, Xor, Not
: Bitwise 연산 : BitAnd, BitOr, BitXor, BitNot
: Eqv, Imp는 VB.NET에서 지원하지 않는다.
- Eqv -> =, Imp -> Not 과 Or를 사용 Result = A Imp B 'A가 True이면서 B가 False가 아닌경우 True
=> Result = (Not A) Or B 'A Imp B와 동일
=> 이부분 이해 안감..
ㅇ. 구조체 선언
-. VB6.0
: Type ... End Type 문장 이용
: 모든 멤버는 기본적으로 Public 형태로 접근 가능
Type Emp
EmpNumber As Integer 'Default는 Public access.
EmpOffTel As String
EmpHomeTel As String
End Type
-. VB.NET
: Structure ... End Structure 이용
: Access Modifier를 반드시 사용해주어야 한다.
Structure Emp
Public EmpNumber As Integer 'Public을 명시해주어야 한다.
Dim EmpOffTel As String 'Public access 로 설정된다.
Private EmpHomeTel As String '구조체 안에서 Private로 선언
End Structure
ㅇ. 다중 변수 선언
-. VB6.0
: 동일한 문장에 다른 데이터 유형을 선언하려면 일일이 별도로 선언해야 함
: 데이터 유형을 명시하지 않은것은 Variant 가 된다.
-. VB.NET
: 하나의 유형의 키워드를 사용하여 여러 개의 변수를 동일한 유형으로 선언할 수 있다.
Dim A,B As Integer Dim I,J As String, K As Integer
ㅇ. 파라미터 전달 방법
-. VB6.0
: ByRef가 기본 (참조를 전달)
=> 해당 값을 바꾸면 원본값이 바뀐다.
-. VB.NET
: ByVal이 기본 (값을 전달)
=> 해당 값을 바꿔도 원본 값이 바뀌지 않는다.