out修饰符

C#中有个out修饰符,这个修饰符的作用,可以在函数返回的时候,额外的返回变量,而不是局限于一个return之中。

在C#7中, 可以在函数调用的时候,用out修饰的变量就可以直接调用了。

static void OutExample(out int myInt, out string myString)
{
    myInt = 3154;
    myString = "三年又三年";
}


static void Main(string[] args)
{
    OutExample(out in myInt, out string myString);
    Console.WriteLine($"{myInt}, {myString}");
}

在C#7之前的版本之中的话,需要在调用方法之前,声明变量。

// https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/out-parameter-modifier


int initializeInMethod;
OutArgExample(out initializeInMethod);
Console.WriteLine(initializeInMethod);     // value is now 44

void OutArgExample(out int number)
{
    number = 44;
}

比较有意思的是,out作为一个修饰符,与ref,in等修饰符在一起的时候,是不计入函数重载的。现在还有元组提供多样的返回特性。用起来与Matlab类似吧。

如果一旦使用了out修饰符的话,那么就和在方法中声明类型一样,需要使用return反回一个同类型的变量。out则是赋予声明变量值,即可。当然喽,有时候,调用方法的时候,不需要返回out的变量,这个时候呢,就需要使用占位符了。简单的一个下划线,便可以忽略掉out修饰的变量。不过,方法内部还是要赋予out修饰变量一个具体的值的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值