Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#我应该将bool初始化为false还是在else语句中使其为false?最佳实践?_C#_Boolean - Fatal编程技术网

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;
}