zoukankan      html  css  js  c++  java
  • C# 之值类型与引用类型参数[基础]

    根据参数类型和传递方式,有以下4种不同的情况:
    值类型参数的按值传递;                    (int m)
    引用类型参数的按值(地址值)传递;  (string str)
    值类型参数的按引用传递;                (ref int m)
    引用类型参数的按引用传递;            (ref string str)

    值类型与引用类型参数
    class Demo
        {
            
    static void Main(string[] args)
            {
                
    int n = 100;
                
    string str = "One";

                ChangeByValue(
    ref n);  //  值类型:ref 传递的是变量 n 的地址(即:值类型的地址)
                ChangeByRef(ref str);  //引用类型:ref 传递的是变量 str 的地址(即:引用的引用)

                Console.WriteLine(n);
                Console.WriteLine(str);
            }
            
    private static void ChangeByValue(ref int m)
            {
                m 
    = 200;  //实际上改变的是变量 n 的值
            }
            
    private static void ChangeByRef(ref string s)
            {
                s 
    = "Two";
            }

            
    //通过,参数带ref(或out),与不带ref(或out)的方法能实现方法的重载
            private static void ChangeByRef(string s)
            {
                s 
    = "Two";
            }

            
    // 报错:不能定义仅在 ref 和 out 上有差别的重载方法。
            
    // 原因:在MSIL中, ref 和 out 是同一类型。
         /* private static void ChangeByRef(out string s)
            {
                s = "Two";
            }
         
    */ 
        }


  • 相关阅读:
    主外键 子查询
    正则表达式
    css3 文本效果
    css3 2d
    sql 基本操作
    插入 视频 音频 地图
    j-query j-query
    document
    js dom 操作
    js
  • 原文地址:https://www.cnblogs.com/xugang/p/1712845.html
Copyright © 2011-2022 走看看