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日