zoukankan      html  css  js  c++  java
  • ref和Out

    中文名
    ref
    外文名
    ref
    用    途
    C#中关键字通过引用传递参数
    引用方法
    显式使用
    例如:
            
            class RefExample        
            {
                static void Method(ref int i)
                {
                    i=44;
                }
                static void Main()
                {
                    int val=0;
                    Method(ref val);//val is now 44
                }
            }
            
    
    传递到ref参数的参数必须最先初始化。这与 out 不同,out 的参数在传递之前不需要显式初始化。尽管refout在运行时的处理方式不同,但它们在编译时的处理方式是相同的。因此,如果一个方法采用ref参数,而另一个方法采用out 参数,则无法重载这两个方法。
    注意:属性不是变量,因此不能作为ref参数传递。
    ref和out两个参数的不同在于:
    1、ref传进去的参数必须在调用前初始化,out不必,即:
            
            int i;        
            SomeMethod(ref i);//语法错误
            SomeMethod(out i);//通过
            
    
    2、ref传进去的参数在函数内部可以直接使用,而out不可:
            public void SomeMethod(ref int i)        
            {
                int j=i;//通过
                //...
            }
            public void SomeMethod(out int i)
            {
                int j=i;//语法错误
            }
            
    
    3、ref传进去的参数在函数内部可以不被修改,但out必须在离开函数体前进行赋值。
  • 相关阅读:
    Zookeeper之 为什么最好是奇数台机器?
    Kafka 之 如何高吞吐和低延迟
    hbase 之 rowkey的设计
    Zookeeper之 两种选举制度|为什么需要过半投票机制?
    Mysql 之 union和union all
    Mysql之 distinct & null | distinct 调优
    Linux 之 系统资源命令
    Linux 之 vi 之 快速定位到n line
    Zeppelin问题 之 Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
    springboot项目中进行XSS过滤
  • 原文地址:https://www.cnblogs.com/wrnsweet/p/8420965.html
Copyright © 2011-2022 走看看