C#高级参数之out

上一篇博客我介绍了ref参数,其实ref参数和out参数可以对比学习

什么是out参数
out:输出参数。

out参数注意事项:

  1. 传入到方法前可以不用先赋值(Main函数中可先不用赋值)
  2. 在方法内部,必须要有给参数赋值的语句。

验证注意事项
我们先写一个参数类型为int的方法函数,方法内部先不写任何东西:

public static void TestFunc(int num1)
{
}

而我们加上out参数以后会出现什么不同的地方,如下图:
在这里插入图片描述
很显然这就验证了使用out参数的时候,在方法内部必须要有给参数赋值的语句。
接着我们在方法内对num1赋值,报错消失
在这里插入图片描述
我们知道在ref关键字中如果不对参数赋初始值会报错,但是out关键字就不会。
我们试着写一个用out参数调用方法的函数:

			static void Main(string[] args)
            {
                int n1;//声明一个整型数据n1,但先不对其进行赋值
                TestFunc(out n1);//通过out参数对其方法进行调用
                Console.WriteLine("调用之后n1="+n1);
                Console.ReadKey();
            }
            public static void TestFunc(out int num1)//out关键字中在方法内部必须有对该参数的赋值语句
            {
                num1 = 100;
            }

最后输出结果:在这里插入图片描述
虽然我们在主函数中没有对n1初始化,但是通过out关键字我们为n1返回了一个数值。

拓展:
假如我们在main中给参数赋了值,在方法中也对该参数赋了值会出现什么状况呐?一起来看看~~

			static void Main(string[] args)
            {
                int n1=200;//在调用方法前对n1初始化
                Console.WriteLine("调用之前n1=" + n1);
                TestFunc(out n1);//使用out关键字
                Console.WriteLine("调用之后n1="+n1);
                Console.ReadKey();
            }
            public static void TestFunc(out int num1)
            {
                num1 = 100;
            }

最后输出结果:
没错你没有看错,使用out关键字后它亲die都不认识了,hhhhhhhhhh~~
言归正传即使在调用方法前对参数进行初始化,调用方法之后还是会更改变量的值,所以没有必要在使用out参数调用时还对参数进行初始化。

每天进步一点点!
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AuCl.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值