반응형

* Redim Preserve 및 배열 크기 조절 예제...

 

메인화면

 

전체 소스 코드

Form1.vb

 

Public Class Form1

    Dim strTmp(2) As String

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        strTmp(0) = "Test 1"
        strTmp(1) = "Test 2"
    End Sub

    Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click

        'TextBox 값이 빈 값이면...
        If txtNumber.Text = "" Then
            MessageBox.Show("배열 수 값이 빈 텍스트 일 순 없습니다.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
            Return
        End If

        'TextBox 값이 숫자가 아닐 경우...
        If IsInt(txtNumber.Text) = 0 Then
            MessageBox.Show("숫자만 입력 해 주세요.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
            txtNumber.Text = ""
            txtNumber.Focus()
            Return
        End If

        '기본 배열 갯수 보다 이상 으로 숫자 입력 받음...
        If Convert.ToInt32(txtNumber.Text) <= 3 Then
            MessageBox.Show("3 이상 숫자를 입력 해 주세요.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
            txtNumber.Text = ""
            txtNumber.Focus()
            Return
        End If

        '배열 인덱스 가르킬 변수...
        Dim iIndex As Integer = 2

        txtMsg.Text = ""
        txtMsg.Text += strTmp(0) + System.Environment.NewLine
        txtMsg.Text += strTmp(1) + System.Environment.NewLine

        '두번째 방법 Redim 문 사용 VB6 처럼
        'txtNumber 수 만큼 배열 크기 늘리기 
        '기존 2 개 선언 했던 값 포함 됨 Test 1 과 Test 2 값.
        'ReDim Preserve strTmp(Convert.ToInt32(txtNumber.Text))

        For iCount As Integer = 3 To Convert.ToInt32(txtNumber.Text)
            '첫번째 방법 C# 과 같이 Array 클래스 사용 
            '배열 갯수 증가...
            Array.Resize(strTmp, iCount)

            strTmp(iIndex) = "Test " + iCount.ToString()
            txtMsg.Text += strTmp(iIndex) + System.Environment.NewLine
            iIndex += 1

        Next

    End Sub

    Private Function IsInt(ByVal ob As Object) As Integer
        If ob Is Nothing Then Return 0
        Dim i As Integer
        'int 형 변환
        Dim b As Boolean = Integer.TryParse(ob.ToString(), i)

        If Not b Then Return 0

        Return i
    End Function
    

End Class

* 예제 결과 화면

결과 화면에서 보듯이 예제를 따라 완성 해보면 배열 사이즈를 줄였다 늘렸다 할 수 있습니다.

 

 

https://kdsoft-zeros.tistory.com/77

 

[VBNET] string 을 int 및 double 형으로 변환 하기, string null 체크

* string 문자열을 정수 및 실수 형으로 변환 하기 예제... 전체 소스코드 Form1.vb Public Class Form1 Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butto..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts