using System;
class SampleClass
{
// call by value(値渡し)
public void printOut1(int n)
{
n++;
Console.WriteLine(n);
}
// call by reference(参照渡し)
public void printOut2(ref int n)
{
n++;
Console.WriteLine(n);
}
// outキーワード(参照渡し)
public void printOut3(int n,out int m)
{
m=n+1;
Console.WriteLine(m);
}
}
class MainClass
{
static void Main()
{
int n = 0, m;
var sample = new SampleClass();
// 出力値:1
sample.printOut1(n);
/* nが変更されていないことを確認
* 出力値:0 */
Console.WriteLine(n);
// 出力値:1
sample.printOut2(ref n);
/* nが変更されていることを確認
* 出力値:1 */
Console.WriteLine(n);
// n=0
n--;
// 出力値:1
sample.printOut3(n, out m);
// 出力値:1
Console.WriteLine(m);
}
}
0 コメント:
コメントを投稿