在C#中,为什么除了返回类型之外我们还有两个具有相同签名的函数:
(1)int函数(int a,int b) { ---} (2)字符串函数(int a,int b) { ---}
为什么C#不支持基于返回类型的重载?
答案 0 :(得分:1)
object result = Function(a, b);
你打电话给哪一个?
答案 1 :(得分:1)
因为在调用它时无法指定返回类型。
// int or string?
Function(a, b);
我也很好奇你为什么要这样做,命名相同但返回两个不同的东西可能是一个坏主意。这段代码更具可读性,意图更清晰:
string x = FunctionToString(a, b);
int y = FunctionToInt(a, b);