我目前正在遵循Microsoft的命名准则,因此在函数参数命名中使用camelCase。现在假设我想使用签名
public string WriteNumberInBase (int number, int base)
在某种方法中,编译器抱怨参数名称只是因为'base'是保留关键字...有什么方法可以让'base'被接受作为参数名称?
答案 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 ....它适用于所有关键字...在关键字前使用@并且你会没事的