c# - 如何在 C# 中声明带有可选参数的函数

标签 c# optional-parameters

<分区>

我想编写一个类来从 Datagridviews 创建 Excel 文件。我想为所选列添加带有小计的底线,这些列的数量从 1 变为 3。 我希望我的功能像这样工作

exportToExcel(string title, DataGridView dgv, int colId1, int colId2, int colId3); //for with 3 sub total 

//Example:
exportToExcel("Some Title",mygridview, 3);  //for 1 sub total
exportToExcel("Another Titme", othergridview, 5,6,7); //for 3 sub totals

我是否必须为不同的变体创建函数,或者是否有办法使第 2 和第 3 列编号可选?

最佳答案

您可以为可选参数使用默认值,例如:

exportToExcel(string title, DataGridView dgv, int colId1, int colId2 = 0, int colId3 = 0);

使用这样的方法,您可以调用 1 到 3 列。

另一种方法是这样 - 使用这种方法的好处是,如果有一天您的列数增加或减少,您将不必更改签名:

exportToExcel(string title, DataGridView dgv, params int[] colIds);

关于c# - 如何在 C# 中声明带有可选参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62148899/

相关文章:

c# - 从公共(public)服务器上的 PHP 页面向 C# 发送数据/命令

c# - WPF效果差异

python - 没有默认值的可选参数

c# - 如何使用Environment.NewLine作为可选参数默认值

c# - 在使用自定义列表使用 ItemSource 之前,项目集合必须为空

c# - 编译时多态与运行时多态

c# - C# 中可选 ref 参数的解决方法

python - 使用可选参数调用方法的最pythonic方式是什么?

c# - 验证服务是否标记为删除

C# "Constant Objects"用作默认参数