반응형
* C# Params 키워드를 이용한 가변 전달 인자 예제...
전체 소스 코드
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_Params
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void ParamsEx(string strTmp, params string[] sParam)
{
lbList.Items.Add(strTmp);
/*
* 1 번째 방법
foreach (string s in sParam)
{
lbList.Items.Add(s);
}
*/
//2번째 방법
for (int iCount = 0; iCount < sParam.Length; iCount++)
{
lbList.Items.Add(sParam[iCount]);
}
}
private void button1_Click(object sender, EventArgs e)
{
lbList.Items.Clear();
//1
ParamsEx("TEST1", "1");
lbList.Items.Add("=================");
//2
ParamsEx("TEST2", "1", "12");
lbList.Items.Add("=================");
//3
ParamsEx("TEST3", "1", "12","123");
lbList.Items.Add("=================");
//4
ParamsEx("TEST4", "1", "12", "123","1234");
lbList.Items.Add("=================");
//5
ParamsEx("TEST5", "1", "12", "123","12345");
}
}
}
* 위 ParamsEx 함수에서 보듯이 두번째 전달 인자에 params 키워드를 써서 가변 전달 인자로 받고 있습니다.
아래의 그림과 같이 첫번째 전달 인자 이후 두번째 부턴 꼭 함수 오버로딩 된 듯한 형태로 나타 납니다.
=> 함수 오버로딩 : 간략히 같은 이름의 함수가 전달 인자 및 리턴 인자만 다른 형태
Ex) void ParamsEx(string strTmp, string s1)
void ParamsEx(string strTmp, strgin s1, string s2)
void ParamsEx(string strTmp, strgin s1, string s2, s
위 예제 처럼 함수 오버로딩 하면 아래의 그림 처럼 함수 호출이 되겠습니다.
* 또한 parmas 키워드 사용 시 주의 사항으로는 반드시 맨 마지막 전달 인자로 와야 한다는 것!!!!
아래의 그림 참조
* 예제 결과
반응형
'C# Programming' 카테고리의 다른 글
[C#] [API] 윈도우 창 찾기 (Window Form Search) (0) | 2019.12.20 |
---|---|
[C#] [API] 다른 응용 프로그램 실행 시키기 : ShellExecute () (0) | 2019.12.18 |
[C#] Json Read 를 이용한 로또(Lotto) 당첨 번호 읽기 예제 (0) | 2019.12.09 |
[C#] Json File Write & Read 예제 (0) | 2019.12.02 |
[C#] 반올림 Math.Round() 예제 (0) | 2019.11.27 |