zoukankan      html  css  js  c++  java
  • c#中关键词out和ref的区别

    c#中关键词out和ref用来表明以传引用的方式传递参数。

    区别如下:

    如果方法的参数用out标记,表示方法被调用前不需初始化参数,方法内不能读取此参数的值,在方法返回前必须向此参数写入值;

    如果方法的参数用ref标记,表示方法被调用前必须初始化参数,在方法内部可以读取或者读写此参数,也可不对此参数做任何处理。

    out事例:

    class Program
        {
            static void Main(string[] args)
            { 
                int val;  //无需初始化
                GetValue(out val);
                Console.WriteLine(val);
            }
    
            public static void GetValue(out int a)
            {
                a = 20; //必须赋值
            }       
        }

    最后val的输出值为20

    ref事例:

    class Program
        {
            static void Main(string[] args)
            { 
                int val=5; //必须初始化
                GetValue(ref val);
                Console.WriteLine(val);
            }
    
            public static void GetValue(ref int a)
            {
                a += 20;  //可以读写,也可不对此参数做任何处理
            }       
        }

    最后val的输出值为25

    注:上面的两个例子,我操作的都是的值类型,对于引用类型,一样可以使用out和ref关键词。

  • 相关阅读:
    spring mvc返回json字符串的方式
    springmvc的数据校验
    Spring MVC拦截器
    HTML5
    再续前缘CSS3
    Spring MVC文件上传和下载
    初始CSS3
    Spring MVC类型转换
    Spring MVC重定向和转发及异常处理
    Spring MVC注解入门
  • 原文地址:https://www.cnblogs.com/qk2014/p/4823388.html
Copyright © 2011-2022 走看看