zoukankan      html  css  js  c++  java
  • c#函数的三个优雅的参数修饰符

    其实这三个关键词大家都在用,很简单,我把它们当做自己的第一篇小随笔记录下来,是想说明自己的副标题的,c#确实一门很优雅的语言。
    1、ref参数修饰符,其作用是创建引用调用而不是值调用,直接看例子
    using System;
    //ref
    class refclass
    {
      
    public void chg(ref int i,ref int j)
     {
        i
    ++;
        j
    ++
      }
    }

    class refdemo
    {
      
    public static Main()
      {
        refclass rc
    =new refclass();
        
    int a=100;
        
    int b=100;
        rc.chg(
    ref a,ref b);
        Console.WriteLine(a,b);
       }
    }


    using System;
    //out
    class outclass
    {
      
    public void chg(out int i,out int j)
     {
        i
    ++;
        j
    =i+100;
      }
    }

    class outdemo
    {
      
    public static Main()
      {
        outclass oc
    =new outclass();
        
    int a=100;
        
    int b;
        oc.chg(
    out a,out b);
        Console.WriteLine(a,b);
       }
    }



    其实我们通常用这种方式来返回函数的多个值,以前想返回多个值还要自己去组装数据什么的,现在就不用了,一个字“爽”!
    2、out参数修饰符和ref差不多,不同的是它不需要初始化,但记住申明是要的.
    3、params参数修饰符,可以在函数调用时传送个数不定的参数。[由于第一次写东西,不知怎么贴代码,就不贴在上面了]
    using System;
    class max
    {
      public int max(params int[] nums)
      {
        int k=nums[0];
        for(int i=1;i<nums.Length;i++)
        {
          if(nums[i]>k)
             k=nums[i];    
        }
        return k;
      }
    }

    class paramsdemo
    {
      public static void Main()
      {
        max mx=new max();
        int max;
        int a=10,b=5,c=6;
        max=mx.max(a,b,c);//调用三个参数
        Cosole.WriteLine(max); 

        int d=20;
        max=mx.max(a,b,c,d);//调用四个参数
        Cosole.WriteLine(max); 

      }
    }

  • 相关阅读:
    UltraWebGrid多表头
    2009个人年度总结报告(IT)
    DevExpress分发
    AspxTreeList数据绑定以及模板和外观定制的运用
    每日一句英语:No problem, Mr. Smith. Anything else?
    “向程序发送命令时出现问题”的解决方法
    ASP常用进制转化类(2,8,10,16,32,64)
    我的分页用户控件(性能问题)
    研发的那些事2—设计之惑
    一个架构的演化2用ESB集成
  • 原文地址:https://www.cnblogs.com/wangxiaohuo/p/565511.html
Copyright © 2011-2022 走看看