所以我读这篇文章C# Overloads它说,你可以使用重载的方法来消除复杂性和提高性能,他们提供了下面的例子:C# - 重载性能增强的查询
使用系统;
class Program
{
public static void Main()
{
ShowString(string.Empty);
ShowString("Category");
}
static void ShowString(string value)
{
if (value == string.Empty)
{
Console.WriteLine("Popular");
}
else
{
Console.WriteLine(value);
}
}
}
他们然后使用重写重载:
using System;
class Program
{
public static void Main()
{
ShowString();
ShowString("Category");
}
static void ShowString()
{
// Send default argument to overload.
ShowString("Popular");
}
static void ShowString(string value)
{
// We don't need an if check here, which makes
// ... calling this method directly faster.
Console.WriteLine(value);
}
}
会使用重载变体比使用方法与默认参数值提供更好的性能?
像:
using System;
class Program
{
public static void Main()
{
ShowString();
ShowString("Category");
}
static void ShowString(string value = "Popular")
{
// We don't need an if check here, which makes
// ... calling this method directly faster.
Console.WriteLine(value);
}
}
或是代码的最后块的代码的第一个块的等效?
性能是很少用于语言特征的度量。 – 2012-08-11 13:12:13