南安网站设计网站 文件服务器

张小明 2026/3/2 16:26:28
南安网站设计,网站 文件服务器,追星做网站,郑州市网站和公众号建设C#中值类型和引用类型参数传递的区别 1. C#中的参数传递机制 在C#中#xff0c;参数传递主要分为两种情况#xff1a; 值类型传递 #xff1a;传递的是变量的副本#xff0c;方法内的修改不会影响原始变量。引用类型传递 #xff1a;传递的是对象引用的副本#xff0c;方…C#中值类型和引用类型参数传递的区别1. C#中的参数传递机制在C#中参数传递主要分为两种情况值类型传递 传递的是变量的副本方法内的修改不会影响原始变量。引用类型传递 传递的是对象引用的副本方法内对对象属性的修改会影响原始对象。普通函数参数传递的区别主要取决于参数的类型如果参数是值类型 如int、struct等方法内的修改不会影响原始变量。如果参数是引用类型 如class、interface等方法内对对象属性的修改会影响原始对象。示例usingSystem;namespaceParamPassingDemo{// 引用类型类classPerson{publicstringName{get;set;}publicintAge{get;set;}publicoverridestringToString(){return$Person{{Name{Name}, Age{Age}}};}}// 值类型结构体structPoint{publicintX{get;set;}publicintY{get;set;}publicoverridestringToString(){return$Point{{X{X}, Y{Y}}};}}classProgram{// 修改引用类型参数的方法staticvoidModifyPerson(Personperson){// 直接修改引用指向的对象的属性person.NameModified Alice;person.Age30;Console.WriteLine($ModifyPerson方法内:{person});}// 修改值类型参数的方法staticvoidModifyPoint(Pointpoint){// 修改的是副本的属性point.X100;point.Y200;Console.WriteLine($ModifyPoint方法内:{point});}// 创建新对象并赋值给引用参数staticvoidReplacePerson(Personperson){// 创建新对象并赋值给参数修改的是参数指向的引用personnewPerson{NameNew Person,Age40};Console.WriteLine($ReplacePerson方法内:{person});}// 使用ref关键字传递值类型staticvoidModifyPointRef(refPointpoint){// 修改的是原始对象的属性point.X100;point.Y200;Console.WriteLine($ModifyPointRef方法内:{point});}staticvoidMain(string[]args){Console.WriteLine( C# 参数传递演示 );Console.WriteLine();// 1. 引用类型参数传递Console.WriteLine(1. 引用类型(类)参数传递:);PersonalicenewPerson{NameAlice,Age25};Console.WriteLine($调用前:{alice});ModifyPerson(alice);Console.WriteLine($调用后:{alice});Console.WriteLine(结论: 引用类型参数传递时方法内对对象的修改会影响原始对象);Console.WriteLine();// 2. 值类型参数传递Console.WriteLine(2. 值类型(结构体)参数传递:);Pointp1newPoint{X10,Y20};Console.WriteLine($调用前:{p1});ModifyPoint(p1);Console.WriteLine($调用后:{p1});Console.WriteLine(结论: 值类型参数传递时方法内的修改不会影响原始对象);Console.WriteLine();// 3. 替换引用类型参数指向的对象Console.WriteLine(3. 替换引用类型参数指向的对象:);PersonbobnewPerson{NameBob,Age35};Console.WriteLine($调用前:{bob});ReplacePerson(bob);Console.WriteLine($调用后:{bob});Console.WriteLine(结论: 替换参数指向的引用不会影响原始对象);Console.WriteLine();// 4. 使用ref关键字传递值类型Console.WriteLine(4. 使用ref关键字传递值类型:);Pointp2newPoint{X50,Y60};Console.WriteLine($调用前:{p2});ModifyPointRef(refp2);Console.WriteLine($调用后:{p2});Console.WriteLine(结论: 使用ref关键字可以让方法修改原始值类型对象);Console.WriteLine();Console.WriteLine( 总结 );Console.WriteLine(1. 值类型: 默认传递副本方法内修改不影响原始对象);Console.WriteLine(2. 引用类型: 默认传递引用的副本方法内修改对象属性会影响原始对象);Console.WriteLine(3. 替换引用: 修改参数指向的引用不会影响原始对象);Console.WriteLine(4. ref关键字: 可以让方法直接修改原始参数);}}}运行结果C# 参数传递演示 1. 引用类型(类)参数传递: 调用前: Person{NameAlice,Age25}ModifyPerson方法内: Person{NameModified Alice,Age30}调用后: Person{NameModified Alice,Age30}结论: 引用类型参数传递时方法内对对象的修改会影响原始对象2. 值类型(结构体)参数传递: 调用前: Point{X10,Y20}ModifyPoint方法内: Point{X100,Y200}调用后: Point{X10,Y20}结论: 值类型参数传递时方法内的修改不会影响原始对象3. 替换引用类型参数指向的对象: 调用前: Person{NameBob,Age35}ReplacePerson方法内: Person{NameNew Person,Age40}调用后: Person{NameBob,Age35}结论: 替换参数指向的引用不会影响原始对象4. 使用ref关键字传递值类型: 调用前: Point{X50,Y60}ModifyPointRef方法内: Point{X100,Y200}调用后: Point{X100,Y200}结论: 使用ref关键字可以让方法修改原始值类型对象总结1. 值类型: 默认传递副本方法内修改不影响原始对象2. 引用类型: 默认传递引用的副本方法内修改对象属性会影响原始对象3. 替换引用: 修改参数指向的引用不会影响原始对象4. ref关键字: 可以让方法直接修改原始参数
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

儿童早教网站模板太原哪里做网站好

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2026/1/11 20:19:37 网站建设

东莞网站优化排名网站果合gohe网站建设

PDF书签智能生成器:告别无目录文档的阅读困扰 【免费下载链接】pdf-bookmark pdf bookmark generator 目录 书签 大纲 项目地址: https://gitcode.com/gh_mirrors/pd/pdf-bookmark 还在为翻阅厚厚PDF文档却找不到具体内容而苦恼吗?PDF书签智能生成…

张小明 2026/1/11 20:19:34 网站建设

dnf制裁做任务网站wordpress显ip

Linux硬件管理全解析 1. Linux打印队列的监控与控制 在Linux系统中,大多数可打印的程序都通过 lpr 进行打印,并且通常允许用户编辑具体的打印命令。同时,有几个实用工具可用于检查和操作Linux打印队列,包括 lpq 、 lprm 和 lpc ,这些命令都可以使用 -P 参数来…

张小明 2026/1/11 22:22:44 网站建设

谢岗镇做网站17.zwd一起做网站池尾站

高斯过程回归(GPR)入门教程:从概念到实践 一、背景溯源:为什么需要高斯过程回归? 在机器学习中,回归问题的核心是“从数据中学习输入 xxx 到输出 yyy 的映射关系 f(x)f(x)f(x)”。传统方法(如线…

张小明 2026/1/11 22:22:42 网站建设

芜湖网络科技有限公司正规seo一般多少钱

组织结构调整是企业应对内外部环境变化所必须的“外科手术”,但其本身蕴含着巨大的风险,其中最致命的是“战略偏航”、“核心人才流失”和“运营混乱”。而沟通,是管理这些风险、确保调整成功的“唯一”且“最重要”的工具。 成功的沟通策略&…

张小明 2026/1/11 22:22:40 网站建设

网站引导页在线做食品行业做网站

3大Dify HTML渲染方案对比:新手如何选择最适合的显示方案? 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/a…

张小明 2026/1/11 22:22:39 网站建设