'base'作为C#中的函数参数名称

时间:2011-02-23 21:27:25

标签: c#

我目前正在遵循Microsoft的命名准则,因此在函数参数命名中使用camelCase。现在假设我想使用签名

public string WriteNumberInBase (int number, int base)

在某种方法中,编译器抱怨参数名称只是因为'base'是保留关键字...有什么方法可以让'base'被接受作为参数名称?

5 个答案:

答案 0 :(得分:16)

试试这个:

public string WriteNumberInBase (int number, int @base)
//                                               ^
//                             the @ sign is used to "escape" keywords

(作为旁注,在VB.NET中,您可以通过在方括号中放置关键字或保留字来实现相同的目的,例如[MyBase]。)

或者,只需调用参数radix而不是base

答案 1 :(得分:4)

您可以像其他人提到的那样使用@base

但是,您也可以使用使用toBase作为参数名称的Convert.ToString(int, int)示例。

或者,您可以使用radix作为基础的同义词(在上下文中)。此时,您可能还想更改方法的名称。

答案 2 :(得分:3)

烨。

public string WriteNumberInBase (int number, int @base)

您还必须使用@符号引用参数:

DoSomethingWith (@base);

这看起来很奇怪,我建议你想一个不同的名字 当它不是唯一的参数时看起来特别奇怪,因为@符号让大脑误以为这个参数在某种程度上是特殊的,当语义上它不是。

答案 3 :(得分:1)

根据this page的第一段,你可以在前面添加“@”字符来创建一个有效的标识符:

public string WriteNumberInBase(int number, int @base)

答案 4 :(得分:0)

使用@base代替base ....它适用于所有关键字...在关键字前使用@并且你会没事的