반응형
* 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# Programming' 카테고리의 다른 글
[C#] Json File Write & Read 예제 (0) | 2019.12.02 |
---|---|
[C#] 반올림 Math.Round() 예제 (0) | 2019.11.27 |
[C#] 32bit, 64 bit 운영 체제 체크하기 (1) | 2019.11.21 |
[C#] 폴더 락 설정 및 해제 (Folder Lock) - 권한 설정 및 해제 (0) | 2019.11.18 |
[C#] 날씨 (Weather) 정보 가져오기 (0) | 2019.11.14 |