第九节 传值、输出、引用、数组、具名/可选参数,扩展方法

视频链接:刘铁猛老师的《C#语言入门详解》
https://www.youtube.com/watch?v=EgIbwCnQ680&list=PLZX6sKChTg8GQxnABqxYGX2zLs4Hfa4Ca

传值参数#

image.png

值类型的传值参数#

image.png
**示例: **
打印结果:101 100 ,原因:y作为值传入AddOne方法时,创建的是一个副本(进行加1),y本身不变
image.png

引用类型的传值参数#

(1)
image.png
测试:
image.png
(2)
image.png
测试:
image.png

引用参数 ref#

image.png

值类型的引用参数#

image.png
测试:
image.png

引用类型的引用参数#

(1)
image.png
测试:
image.png
image.png
(2)
image.png
测试:
image.png
image.png

输出参数 out#

image.png

值类型的输出参数#

image.png
示例:TryParse方法
image.png
image.png
示例2:自定义TryParse方法
image.pngimage.png

引用类型的输出参数#

image.png
示例:
image.png
image.png

数组参数 params#

image.png
示例:对比
image.png
使用了params,传值更加简单,不用创建数组了。
image.png
示例2:
image.png
image.png

具名参数#

  • 参数的位置不再受约束。

image.png
优点:(1)给代码添加了可读性(2)参数位置顺序可以改变

可选参数#

image.png
示例:
image.png

扩展方法(this 参数)#

image.png
示例1:给double类型添加一个Math.Round()的扩展方法。可以直接在double实例上调用Round方法
image.png
示例2:LINQ对比
image.png
LINQ:
image.png
这个All就是扩展方法
image.png

各种参数使用的场景#

image.png

posted @   不爱菠萝的菠萝君  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
主题色彩
点击右上角即可分享
微信分享提示