반응형
using System;
using System.Collections.Generic;
using System.Text;
namespace CS함수
{
class Program
{
// call by value , call by ref
// 1) 함수 내부로 인자를 전달하는 메카니즘 !!
// -- > in Input Parameter :
// 1) 1개의 배열을 매개변수로 받아서 화면에 출력하는 함수
// --> input
//2) 1개의 배열을 매개변수로 받아서 사용자에게 값을 입력하는 함수
// --> output
// input : call by value
// out : call by Ref
// call by value
/* static void Add(out int No) // out : 포인터의 전달 -> call by Ref !!
{
// out : 값을 전달하기 위한 목적으로는 사용할수 없다 !!
No = 11;
Console.WriteLine(No); //??
}*/
static void Add(ref int No)
{
No++;
Console.WriteLine(No); //??
}
// out. ref 둘다 call by ref !!
// C#에서는 포인터가 없기때문에 포인터를 통해서 구현하던 call by ref 기능을 !!
// out , ref키워드를 통해서 구현 한다 !!
// 단, 차이는 !!
// ref는 포인터와 완전히 동일한 형태로 call by ref를 구현하지만...
// out : 반드시 값의 할당 필요하다 !!
// 가변 인자 함수 !!
// 함수로 전달되어지는 파라미터의 갯수가 가변적인 함수..
// ex) printf, scanf
// printf함수는 파라미터가 몇개인가??
// printf("%d %d",10,10);
/* static long Sum( params long [] ParamList )
{
long Result = 0;
foreach (long item in ParamList)
{
Result += item;
}
return Result;
}*/
static string Sum(params Object[] ParamList)
{
string Result = "";
foreach (Object item in ParamList)
{
Result += item.ToString();
}
return Result;
}
static void Main(string[] args)
{
// Console.WriteLine("{0} {1} {2}", 10, "20", 30.0);
Console.WriteLine(Sum(10, 20, 30, 20,111,"60"));
/* int No = 10;
Console.WriteLine(No);
Add(ref No );
Console.WriteLine(No);
*/
}
}
}
'C#' 카테고리의 다른 글
| [C#] Object 클래스란 (0) | 2014.11.18 |
|---|---|
| [C#] 메소드 (0) | 2014.11.18 |
| [C#] WindowForm에서 데이터베이스를 사용한 프로그램 (0) | 2014.11.18 |
| [C#] C#에서 엑세스(데이터베이스)를 사용하여 연동하기 (0) | 2014.11.18 |
| [C#] 텍스트 데이터를 엑세스 파일에 데이터 넣기 (0) | 2014.11.18 |