首页 > 解决方案 > 如何绕过 C# 中的函数参数?

问题描述

我正在寻找绕过函数参数的方法。假设我有一个功能:

void getDataFromDB(int? ID, string name) {....}

我想知道绕过ID或名称的方法,像这样的smt:

entity.getDataFromDB(42);

或者

entity.getDataFromDB("Customer");

我不会这样调用函数:

entity.getDataFromDB(null,"Customer");

我知道我可以使用默认值,也可以使用参数作为最后一个参数。有什么好主意吗?

标签: c#.netfunction

解决方案


C#有两种减少函数参数的方法:

默认值(仅在没有“标准”参数后有效):

void getDataFromDB(int? ID, string name = "Default") {....}

方法重载:

void getDataFromDB(int? ID, string name) {....} 
void getDataFromDB(string name) => getDataFromDB(null, name); // overload using lambda

推荐阅读