C#之实参和形参

1.值类型

   例如:我们定义一个函数   

static void Exchange(int x, int y)
   {
      int flag = x;
      flag = y;
      y = x;
      x = flag;
    }

其中,int x ,int y 为形参,我们可以通过如下方式进行调用函数,调用时方法名,参数个数、参数类型都要对应一致,如下

 static void Main(string[] args)
   {   
        int a = 2;
        int b = 5;
Exchange(a, b);
Console.WriteLine("a="+a.ToString()+"\r\n"+"b="+b.ToString());

}

int属于值类型所以在调用Exchange(a,b)方法的时候,程序会给a和b分别复制一个相同的a和b,然后去执行方法,当方法执行结束之后,根据GC机制,刚刚分配的地址会被清除掉,所以在执行Exchange(a,b)之后,Main方法的a和b值是没有发生变化的。方法参数为值类型时,我们把a可以理解为一个主演,Exchange方法可以理解为做一个危险事情,做这个危险事情的时候,导演为防止主演受伤,给主演找个外貌相似的替身,替代主演去完成这个危险的事情,当替身完成这个危险事情的时候,替身的状态(受伤或者没有受伤)不会改变主演的状态。

 

posted @   mengxiangzhi  阅读(6083)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示