林文威

← 全部活动

受邀

MVP 聚技站 .NET C# 系列(五):在 C# 控制台应用程序中创建方法

一场给 C# 初学者的直播课:什么是方法、为什么要把重复的代码抽出来、递归是怎么回事。还有一道“面试题”和三道抢答题。

日期
2023.10
形式
微软 Reactor(MVP 聚技站)
我做的
主持人、分享者
同台
MVP 张安忠老师
标签
Reactor · C# · .NET · 编程入门

2023 年 9 月,微软大中华区的 MVP 和学生大使一起开了一个 C# 系列科普讲座,挂在“MVP 聚技站”下面,用的是 Microsoft Learn 上“C# 入门”的课程。这是第 5 期,讲“方法”(也就是函数)。分享嘉宾是 MVP 张安忠老师,他做了八年 .NET 开发,写过《ASP.NET Core 5.0 开发入门与实战》。这一场我做主持,也和张老师分着讲,我讲的是最基础的那部分。

开场页:Learn Live,在 C# 控制台应用程序中创建方法

分享嘉宾:张安忠老师和林文威

讲了什么

整场分三段:知识入门、代码演示、逻辑进阶。

什么是方法。 方法就是一段有名字的代码,调用它的名字,就执行里面的语句。从最简单的 SayHello() 开始,加上参数变成 SayHello("Tom"),再看程序是怎么先跳进方法、执行完再回来的。

为什么要把重复的代码抽出来。 用一个“药品服用时间”的小程序做例子:同一段格式化时间的代码写了好几遍,把它抽成一个方法,代码短了,也好读了。顺带讲了一条编程的老规矩:DRY,不要重复你自己(Don’t Repeat Yourself)。

编程思想 DRY:不要重复劳动,把常用的操作封装成函数或方法

把方法当成一个“黑盒”。 只管它接什么、吐什么,先给每个任务起个名字,再一个个去填里面的逻辑。

一道“面试题”。 假设你在面试,面试官让你写一个程序,检查一个 IPv4 地址是否有效:四个数字、用点隔开、不能有前导零、每个数在 0 到 255 之间。大家可以先想想,怎么用几个方法把它拆开。

编程挑战:检查 IPv4 地址是否有效

递归。 从“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事……”讲起,再到俄罗斯套娃,然后用阶乘对比递归和循环两种写法。

我们熟悉的“递归”:从前有座山……

递归和循环:同样算阶乘的两种写法

抢答。 最后三道选择题:哪一行是正确的方法签名、怎么声明方法、怎么调用方法。扫码回复“.NET”进群抢答,奖品是社区定制的马克杯和张老师的书。

知识检查第 1 题:哪一行是有效的方法签名

回头看

这是我第一次在“MVP 聚技站”主持。半年后,我又主持了这个栏目 GenAI 系列的一期:用 .NET 开源框架高效管理多 AI Agent 应用系统。