c#学习笔记——ref关键字(引用参数调用)

本文详细探讨了C#中的ref关键字,它允许参数按引用传递,而不是按值。通过使用ref,函数可以修改实参的原始值。文章涵盖了ref的使用场景、注意事项以及与out关键字的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在c#中,调用类的方法时,要先实例化类的对象,然后使用类名.方法名进行调用

这里就有一个类似于C++中形参和实参的问题了。

举例来说,要实现一个交换两个整型变量的值的功能,我们定义如下类:
  1. class SwapNum
  2. {
  3. public void swap1(int a,int b)
  4. {
  5. int temp = a;
  6. a = b;
  7. b = temp;
  8. }
  9. public void swap2(ref int a, ref int b)
  10. {
  11. int temp = a;
  12. a = b;
  13. b = temp;
  14. }
  15. }
  16. static void Main(string[] args)
  17. {
  18. int a = 2, b = 3;
  19. Console.WriteLine("初始值:a=" + a + ",b=" + b);
  20. SwapNum swap = new SwapNum();
  21. swap.swap1(a, b);
  22. Console.WriteLine("第一次交换后:a=" + a + ",b=" + b);
  23. swap.swap2(ref a, ref b);
  24. Console.WriteLine("第二次交换后:a=" + a + ",b=" + b);
  25. Console.ReadLine();
  26. }
在这里面,swap1函数使用了参数值传递,swap2函数使用了引用传递。在使用引用参数调用时,接受参数值的改变会反馈到调用参数上。运行结果如下:

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值