반응형
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 |