我目前遵循微软的命名规范,在函数参数命名中使用驼峰式大小写。现在假设我想使用以下签名:
public string WriteNumberInBase (int number, int base)
在某些方法中,编译器会因为“base”是保留关键字而抱怨参数名称...是否有办法让“base”作为参数名称被接受?
我目前遵循微软的命名规范,在函数参数命名中使用驼峰式大小写。现在假设我想使用以下签名:
public string WriteNumberInBase (int number, int base)
在某些方法中,编译器会因为“base”是保留关键字而抱怨参数名称...是否有办法让“base”作为参数名称被接受?
试试这个:
public string WriteNumberInBase (int number, int @base)
// ^
// the @ sign is used to "escape" keywords
(顺带一提,在VB.NET中,您可以通过将关键字或保留字放在方括号中(例如[MyBase]
)来执行相同的操作。) 或者,简单地将参数命名为radix
而不是base
。@base
。
但是,您还可以遵循Convert.ToString(int, int)的示例,使用toBase
作为参数名称。
或者,您可以在上下文中将radix
用作基数的同义词。当然,在这种情况下,您可能还需要更改方法的名称。
public string WriteNumberInBase (int number, int @base)
您还需要使用@
符号引用参数:
DoSomethingWith (@base);
这看起来很奇怪,我建议你考虑一个不同的名称。
当这不是唯一的参数时,它看起来特别奇怪,因为@
符号会让大脑误以为这个参数在语义上有所特殊,而实际上并不是。
toBase
是一个非常好的方法(在你的情况下是inBase
,并将方法名称缩短为WriteNumber
)。 - Dan Abramovpublic string WriteNumberInBase(int number, int @base)
使用 @base 而不是 base .... 这适用于所有关键字 ... 在关键字前加上 @,你就没问题了
toBase
作为参数,也许inBase
更合适? - Lasse V. Karlsen