C# 为什么需要重载方法?
当然,用不同的名称创建另一个方法也可以实现同样的效果C# 为什么需要重载方法?,c#,methods,overloading,C#,Methods,Overloading,当然,用不同的名称创建另一个方法也可以实现同样的效果 public void SayHello(string name) { Console.WriteLine("Hello " + name); } public void SayHello(string name, string name2) { Console.WriteLine("Hello + name + "," + name2); } 与 public void SayHelloToTwoPeople(string n
public void SayHello(string name)
{
Console.WriteLine("Hello " + name);
}
public void SayHello(string name, string name2)
{
Console.WriteLine("Hello + name + "," + name2);
}
与
public void SayHelloToTwoPeople(string name1, string name2)
{
Console.WriteLine("Hello + name + "," + name2);
}
方法重载的好处是什么?但是,它有助于保持程序的一致性。您不需要在方法名中显式地声明您可以向两个人打招呼,您的代码应该代表自己
这应该是显而易见的
public void SayHello(string person) {
Console.WriteLine("Hello, " + person);
}
及
不必做非常冗余的方法名。在大多数情况下,好处纯粹是语义上的。如果两个方法做相同的事情(但参数稍有不同),为什么命名不同呢
如果您正在阅读一个API,那么如果根据方法的重载对其进行分组,那么阅读它就会容易得多 我能想到的一个很好的例子是,当你有一个复杂的函数,它为用户提供了执行相同函数的不同方式。当您想“猜测”用户想要什么时,可以删除参数
class ImportantClass
{
public void SomeMethod()
{
SomeMethod(1); // Some default value
}
public void SomeMethod(int variable)
{
// Do something here
}
}
重载方法提高了代码的清晰度。在设计复杂程序时,代码更改和某些分支变得不必要。添加重载方法以消除复杂性并提高性能 你可以在 也摘自Jon Skeet的书《深入》C#Depth
它使类构造函数更易于使用,因为它总是有相同的名称。更多的名称==更多的记忆。您使用的是
控制台。WriteLine
,它有但不必使用控制台。WriteString
,控制台。WriteInt64
,控制台。WriteFloat
等。。对于不同类型?:)@HansPassant我更愿意把它写成more names=>more to memory
。因为“更多的名字”和“更多的记忆”不是一回事。
class ImportantClass
{
public void SomeMethod()
{
SomeMethod(1); // Some default value
}
public void SomeMethod(int variable)
{
// Do something here
}
}