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

视频链接:刘铁猛老师的《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 @ 2023-06-08 08:22  不爱菠萝的菠萝君  阅读(28)  评论(0编辑  收藏  举报