반응형

* VB (Redim Preserve) 처럼 배열 사이즈 조절 하기 예제...

 

메인화면

전체 소스 코드

Form1.cs

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CSharp_ArryayResize
{
    public partial class Form1 : Form
    {
        string[] strTmp = new string[2]; //배열 초기화 갯수 2개로...

        public Form1()
        {
            InitializeComponent();
            strTmp[0] = "Test 1";
            strTmp[1] = "Test 2";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //TextBox 값이 빈 값이면...
            if (txtNumber.Text == "")
            {
                MessageBox.Show("배열 수 값이 빈 텍스트 일 순 없습니다.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }

            //TextBox 값이 숫자가 아닐 경우...
            if (IsInt(txtNumber.Text) == 0)
            {
                MessageBox.Show("숫자만 입력 해 주세요.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                txtNumber.Text = "";
                txtNumber.Focus();
                return;
            }

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

            int iIndex = 2; //배열 인덱스 가르킬 변수...
           
            txtMsg.Text = "";
            txtMsg.Text += strTmp[0] + System.Environment.NewLine;
            txtMsg.Text += strTmp[1] + System.Environment.NewLine;

            for (int iCount = 3; iCount <= Convert.ToInt32(txtNumber.Text); iCount++)
            {
                //배열 갯수 증가...
                Array.Resize<string>(ref strTmp, iCount);

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

        
        }

        private int IsInt(object ob)
        {
            if (ob == null) return 0;

            int iCheck = 0;
            bool bCheck = int.TryParse(ob.ToString(), out iCheck);

            if (!bCheck)
            {
                return 0;
            }

            return iCheck;
        }
    }
}

* 예제 결과 화면

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

 

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

 

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

* string 문자열을 정수 및 실수 형으로 변환 하기 예제... 전체 소스코드 Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing;..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts