C#我应该将bool初始化为false还是在else语句中使其为false?最佳实践?
我有以下两段代码,其中一段我将C#我应该将bool初始化为false还是在else语句中使其为false?最佳实践?,c#,boolean,C#,Boolean,我有以下两段代码,其中一段我将isSpclCharbool初始化为false,另一段我稍后在else语句中捕捉到false状态: static bool CheckSpclChar(char _letter) { bool isSpclChar = false; if(_letter == '!' || _letter == '@') { isSpclChar = true; } return isSpclChar; } 以及: 在这
isSpclChar
bool初始化为false
,另一段我稍后在else语句中捕捉到false状态:
static bool CheckSpclChar(char _letter)
{
bool isSpclChar = false;
if(_letter == '!' || _letter == '@')
{
isSpclChar = true;
}
return isSpclChar;
}
以及:
在这种情况下,哪一种做法是最佳做法或更不容易出错?
这一点都不重要吗?根本不需要
或:
bool isSpecialChar=_letter=='!'|_字母=='@';
事实上,您的整个方法可以简化为:
static bool CheckSpecialChar(字符字母)=>letter='!'|字母=='@';
为了更好的可读性,我将“Spcl”扩展为“Special”,并删除了后面参数名的前导前缀。您可能还想考虑使用<代码> IS <代码>,而不是<代码>检查< /代码> .<
最后,您可能也希望避免在方法名称中使用“special”一词。当我听到“特殊角色”这个短语时,我会退缩,因为没有更具体的上下文,它就没有意义了。你在做什么代码>和@
在这种情况下是什么意思?您是否可以给出更有用的描述,例如IsEscapePrefix
或类似的描述?当我们需要使用这些值时,我们应该使用变量,否则您只需要按照以下方式编写方法。让我知道,如果有意义的话
static bool CheckSpclChar(char _letter)
{
if(_letter == '!' || _letter == '@')
{
return true;
}
return false;
}
方法中只需一行:return _letter=='!'|_字母=='@'哦,我的好朋友!那里有很多有用的建议。。。谢谢你,正如你可能知道的,我才刚刚开始,像这样的建议对我来说是不可行的。有意义的,根本不需要在这个方法上创建布尔变量,谢谢!你会来的!
static bool CheckSpclChar(char _letter)
{
if(_letter == '!' || _letter == '@')
{
return true;
}
return false;
}