美文网首页
【蓝鸥AR/VR开发基础二】 方法参数

【蓝鸥AR/VR开发基础二】 方法参数

作者: 蓝鸥3G | 来源:发表于2016-09-05 17:04 被阅读0次

    蓝鸥(www.lanou3g.com)是一家集产、学、研、创为一体的综合性移动互联网研发培训机构,致力于iOS开发、Unity3D游戏开发、Android开发、HTML5前端开发和Web安全攻防等技术人才的培养。

    一、方法参数

    定义方法时,在参数列表中定义的参数叫做形参;调用方法时,在参数列表中传递的参数叫做实参;

    二、方法参数代码解说一:输出a+b的和

    usingSystem;

    namespaceLesson_09

    {

    publicclassMyClass{

    publicintSum(inta,intb){

    returna+b;

    }

    }

    classMainClass

    {

    publicstaticvoidMain(string[]args)

    {

    MyClassc=newMyClass();

    Console.WriteLine(c.Sum(5,12));

    }

    }

    }

    三、方法参数代码解说二:形参和实参的举例说明

    usingSystem;

    namespaceLesson_09

    {

    publicclassMyClass{

    //定义方法时,参数a和b是形式参数——形参

    publicintSum(inta,intb){

    inta=5;

    intb=12;

    returna+b;

    }

    }

    classMainClass

    {

    publicstaticvoidMain(string[]args)

    {

    MyClassc=newMyClass();

    //调用方法时,传入的参数5和12是实际参数——实参

    inti=c.Sum(5,12);

    }

    }

    }

    四、方法参数代码解说三,如何把a和b的值进行互换?采用值类型是否可行?请记住值类型系统会自动分配空间

    usingSystem;

    namespaceLesson_09

    {

    publicclassMyClass{

    publicvoidSwap(inta,intb){

    inttemp=a;

    a=b;

    b=temp;

    }

    }

    classMainClass

    {

    publicstaticvoidMain(string[]args)

    {

    MyClassc=newMyClass();

    inti=5;

    intj=12;

    c.Swap(i,j);

    Console.WriteLine("I="+i);

    Console.WriteLine("J="+j);

    }

    }

    }

    五、方法参数代码解说四:如果想在方法内对参数进行修改来影响外部的值,那么可以使用引用类型的参数

    namespaceLesson_09

    {

    publicclassMyClass{

    publicvoidSwap(inta,intb){

    inttemp=a;

    a=b;

    b=temp;

    }

    publicvoidA(int[]arr){

    arr[0]=12;

    }

    }

    classMainClass

    {

    publicstaticvoidMain(string[]args)

    {

    MyClassc=newMyClass();

    int[]a=newint[]{1};

    c.A(a);

    Console.WriteLine(a[0]);

    }

    }

    }

    六、引用参数

    值类型参数想要达到引用类型参数的效果,需要用到引用修饰符ref

    方法参数代码解说五:ref关键字使用

    usingSystem;

    namespaceLesson_09

    {

    publicclassMyClass{

    publicvoidSwap(refinta,refintb){

    inttemp=a;

    a=b;

    b=temp;

    }

    //如果想在方法内对参数进行修改来影响外部的值,那么可以使用引用类型的参数

    //publicvoidA(int[]arr){

    //arr[0]=12;

    //}

    }

    classMainClass

    {

    publicstaticvoidMain(string[]args)

    {

    MyClassc=newMyClass();

    //int[]a=newint[]{1};

    //c.A(a);

    //Console.WriteLine(a[0]);

    inti=5;

    intj=12;

    c.Swap(refi,refj);

    Console.WriteLine("i="+i);

    Console.WriteLine("j="+j);

    }

    }

    }

    七、输出参数

    输出参数:如果想让一个方法返回多个值,可以用输出参数来处理,在参数钱加一个out修饰符

    只有一个返回值的代码实例:

    usingSystem;

    namespaceLesson_09

    {

    publicclassMyClass{

    publicintMax(inta,intb,intc){

    intmax=a;

    if(max

    max=b;

    }

    if(max

    max=c;

    }

    returnmax;

    }

    }

    classMainClass

    {

    publicstaticvoidMain(string[]args)

    {

    MyClassc=newMyClass();

    inti=3;

    intj=-4;

    intk=14;

    Console.WriteLine(c.Max(i,j,k));

    }

    }

    }

    对比输出最小值:使用out修饰符

    usingSystem;

    namespaceLesson_09

    {

    publicclassMyClass{

    //使用out修饰符来定义输出参数

    publicintMax(inta,intb,intc,outintmin){

    //初始化输出参数

    min=0;

    intm=a;

    if(m>b){

    m=b;

    }

    if(m>c){

    m=c;

    }

    min=m;

    intmax=a;

    if(max

    max=b;

    }

    if(max

    max=c;

    }

    returnmax;

    }

    }

    classMainClass

    {

    publicstaticvoidMain(string[]args)

    {

    MyClassc=newMyClass();

    inti=3;

    intj=-4;

    intk=14;

    intmin=0;

    intmax=c.Max(i,j,k,outmin);

    Console.WriteLine("Min="+min);

    }

    }

    }

    八、可变参数

    可变参数:如果在定义方法时不能确实有多少个参数,我们可以使用可变参数params

    usingSystem;

    namespaceLesson_09

    {

    publicclassMyClass{

    //定义方法时不能确定调用时会传递多少个参数,我们可以使用可变参数

    publicintSum(paramsint[]para){

    ints=0;

    foreach(intiinpara){

    s+=i;

    }

    returns;

    }

    }

    classMainClass

    {

    publicstaticvoidMain(string[]args)

    {

    MyClassc=newMyClass();

    ints=0;

    s=c.Sum(1,2,3,5);

    Console.WriteLine(s);

    }

    }

    }

    练习:实现一个方法,能够交换参数的值,能将传递进去的三个参数按照由小到大的顺序进行排序,使用ref实现!

    相关文章

      网友评论

          本文标题:【蓝鸥AR/VR开发基础二】 方法参数

          本文链接:https://www.haomeiwen.com/subject/isbrettx.html