C#面试题更新 2026-08-05

在 C# 中,可选参数是如何定义的,请给出定义方法并说明其使用时的注意事项。

编码实现技术原理C#

考察说明

考查对 C# 可选参数定义和使用的掌握程度。

回答思路

  1. 【回答框架 1】可选参数是指在方法声明时,在参数列表中为参数提供默认值,从而在调用方法时可以省略该参数。
  2. 【回答框架 2】定义可选参数时,需要在参数声明中直接赋值默认值,例如 void Method(int x, string s = "default")。可选参数必须位于所有必需参数之后。
  3. 【回答框架 3】调用方法时,如果省略可选参数,则使用默认值;也可以显式传参覆盖默认值。
  4. 【回答框架 4】注意可选参数与重载的关系:可选参数在实现上会生成重载方法,但仅当调用点符合省略规则时才会编译为省略形式。
  5. 【回答框架 5】可选参数的值在编译时确定,因此修改默认值后需要重新编译调用方代码才会生效。
  6. 【关键点 1】可选参数必须在所有必需参数之后。
  7. 【关键点 2】可选参数在语法上表现为参数赋值默认值。
  8. 【关键点 3】调用时可省略,省略时使用默认值。
  9. 【关键点 4】默认值必须在编译时确定,常用常量表达式。
  10. 【易错点 1】不要在重载中混用可选参数,容易产生歧义。
  11. 【易错点 2】修改默认值不会自动更新已编译的调用方。