c# 关键字解释
  HekzsAcXJMX5 2023年11月02日 53 0

简述

c#函数参数传递中的ref、out、in关键字解释

内容

在函数进行参数传递时,我们可以使用ref、out、in关键字对参数进行修饰。当参数使用ref、out、in修饰后,参数则会按引用传递,而非按值传递

using System;
class Program
{
    static void Main(string[] args)
    {
        int refNumber = 10;
        RefFunction(ref refNumber);
        Console.WriteLine("refNumber is " + refNumber);
        //Output: refNumber is 20

        int outNumber;
        OutFuntion(out outNumber);
        Console.WriteLine("outNumber is " + outNumber);
        //Output: outNumber is 50

        int inNumber = 100;
        InFunction(in inNumber);
        //Output: inNumber is 100
        Console.ReadKey();
    }
    
    static void RefFunction(ref int number)
    {
        number = number + 10;
    }

    static void OutFuntion(out int number)
    {
        number = 50;
    }

    static void InFunction(in int number)
    {
        Console.WriteLine("inNumber is " + number);
    }

}

ref、out、in的共同点是:

需要在方法定义与方法调用处显示的使用关键字。

参数按引用传递,而非值传递。

ref、out、in的不同点是:

ref:参数变量需要初始化,参数在方法中可以修改或不修改。

out:参数变量无需初始化,参数在方法中必须进行赋值。

in:参数变量需要初始化,参数在方法中不能进行修改。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

HekzsAcXJMX5
作者其他文章 更多