使用引用型参数传递值
using System;
class Exchange
{
protected void swap(ref int x,ref int y)
{
int temp=x;
x=y;
y=temp;
}
static void Main (string[] args)
{
if(args.Length!=2)
{
Console.WriteLine("Usage: exchange <num1> <num2>");
return;
}
int num1=Int32.Parse(args[0]);
int num2=Int32.Parse(args[1]);
Exchange e=new Exchange();
e.swap(ref num1, ref num2);
Console.WriteLine("after the exchange is {0} {1}",num1,num2 );
Console.ReadKey();
}
}
运行结果:
通过值传递参数
using System;
class Exchange
{
protected void swap( int x, int y)
{
int temp=x;
x=y;
y=temp;
}
static void Main (string[] args)
{
if(args.Length!=2)
{
Console.WriteLine("Usage: exchange <num1> <num2>");
return;
}
int num1=Int32.Parse(args[0]);
int num2=Int32.Parse(args[1]);
Exchange e=new Exchange();
e.swap( num1, num2);
Console.WriteLine("after the exchange is {0} {1}",num2,num1 );
Console.ReadKey();
}
}
运行结果:
定
定义一个输出型参数
using System;
public class Calculate
{
public void Cal (int inNum,out int outNum)
{
outNum=inNum*inNum;
}
}
class CalApp
{
public static void Main ()
{
Calculate cal=new Calculate();
int outnum;
cal.Cal(35,out outnum);
Console.WriteLine(outnum);
}
}
运行结果如下
35*35=。。
using System;
public class OutClass
{
public string OutTest(out string i)
{
i="i am a student";
return "you are a teacher";
}
public static void Main()
{
string x; //don't need initialed
OutClass oc=new OutClass();
Console.WriteLine(oc.OutTest(out x));
Console.WriteLine(x);
}
}
调用数组型参数的方法
using System;
public class Param
{
//当方法前带有params关键字时候,就是一个带数组型的参数的方法
public void Test(params int[] args)
{
Console.WriteLine("Array contains {0} elements:",args.Length);
foreach(int i in args)
Console.WriteLine(" {0}",i);
Console.WriteLine();
}
public static void Main ()
{
Param a=new Param();
int[] array={1,2,3,4};
a.Test(array);
a.Test(5,6,7);
a.Test();
}
}
运行结果如下