参数类型的顺序会改变 C# 中方法的签名吗?

0 c# methods overloading signature

对于以下方法:参数类型的顺序是否会导致唯一的方法签名?

static void PrintOrderCost(double totalCost, string customerName)
{

}
Run Code Online (Sandbox Code Playgroud)

上述方法签名:PrintOrderCost(double, string)

static void PrintOrderCost(string customerName, double totalCost)
{

}
Run Code Online (Sandbox Code Playgroud)

上述方法签名:PrintOrderCost(string, double)

Swe*_*per 5

这是在C# 语言规范中指定的:

方法的签名由方法的名称、类型参数的数量以及每个形式参数的类型和种类(值、引用或输出)组成,按从左到右的顺序考虑。[...]

所以是的,订单是签名的一部分,所以不同的订单是不同的签名。显示的两个方法是两个重载,因为:

方法重载允许类、结构或接口声明多个具有相同名称的方法,前提是它们的签名在该类、结构或接口中是唯一的。