zoukankan      html  css  js  c++  java
  • out,ref关键字

    out,ref两个关键字都是将修饰参数按引用传递。out修饰的参数可以不用初始化,但是ref修饰的必须要初始化才能使用。

    下面上示例代码:(如果将ref换成out,在main()中可以不用初始化这两个变量直接调用)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace test
    {
    class Program
    {
    public static void Change(ref int i,ref string s)
    {
    i=10;
    s="Change";
    }
    static void Main(string[] args)
    {
    int a=0;
    string s="test";
    Change(ref a);
    Console.WriteLine(a.ToString()+s);
    Console.Read();
    }

    }
    }
    // 输出结果是 10Change

     最近又对ref和out重新理解了一下:举例说明一下最近的新看法吧

    ref没什么好说的,就是都对同一块内存地址操作,一但数据改变,所有引用这个数据的value都将改变。并且在使用前要先将变量声明,为变量搞一块内存出来。

    out:网上说,ref是有进有出。out是进不去,只出来。  其实在对内存操作上他们是一样的。但是代码实现上有这么一个区别:

    private void add(out int a)

    {

      a=100;//注意这里,就是用out修饰了,在函数内部一定要为这个参数声明一块内存出来。这就是为啥进不来的原因了,因为在调用这个函数的时候要对

                  此参数重新赋值的。

    return a++;

    }

  • 相关阅读:
    18天,也能让ERP步入新世界
    VB.NET显示Internet上的图片
    首页增强外挂 vBulltein 3.5.x/3.6.x
    简繁互相切换的字库(比较全)
    delphi 使用者的一个好工具
    sql语句的一些参考
    错误2203,安装中的用户权限问题
    音响的灵魂! 世界顶级扬声器品牌介绍
    Pocket PC程序安装
    清理数据库挂马代码
  • 原文地址:https://www.cnblogs.com/xiaoch/p/13417966.html
Copyright © 2011-2022 走看看