Leo47SQ 2022-01-21 11:14 采纳率: 0%
浏览 37

提问:我有个关于函数重载的问题。

我最近在学习C#,用到了一个String类的Format函数,然后F12进去看了一下它的定义,如下:
public static string Format(IFormatProvider? provider, string format, object? arg0)
public static string Format(IFormatProvider? provider, string format, object? arg0, object? arg1)
public static string Format(IFormatProvider? provider, string format, object? arg0, object? arg1, object? arg2)
public static string Format(IFormatProvider? provider, string format, params object?[] args)
public static string Format(string format, object? arg0)

请问为什么要写这么多的重载版本呢?只用
public static string Format(IFormatProvider? provider, string format, params object?[] args)
这一个不就够了吗?

  • 写回答

3条回答 默认 最新

  • CSDN专家-sinJack 2022-01-21 11:20
    关注

    场景不一样,用到的方法就不一样。
    使用的时候,还要考虑性能的问题。如果只需要传一个参数,就没必要封装数组参数了。
    工具类就需要考虑更多的方面,不止适用你个人,还要适用更多的使用者。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 1月21日

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符