Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.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# 并非所有路径都在开关中返回值_C# - Fatal编程技术网

C# 并非所有路径都在开关中返回值

C# 并非所有路径都在开关中返回值,c#,C#,即使我已经有一个default子句,我仍然会得到错误 如果type==textboxL且内部条件为false,则函数不会返回任何值。文本框也是如此 请注意,只有在没有进入其他案例的情况下才会调用default,在本例中,您在每个案例的末尾使用break 根据您的逻辑,您可能希望在函数末尾返回true。开关中的if子句在其他方面缺失 这样,如果不满足任何情况下的条件,您也会返回一个值。情况下的返回语句位于if块内,因此您的路径不会以返回语句结束。既然您已经在开关情况下使用了if条件,为什么不简单地

即使我已经有一个default子句,我仍然会得到错误

如果type==textboxL且内部条件为false,则函数不会返回任何值。文本框也是如此

请注意,只有在没有进入其他案例的情况下才会调用default,在本例中,您在每个案例的末尾使用break

根据您的逻辑,您可能希望在函数末尾返回true。

开关中的if子句在其他方面缺失


这样,如果不满足任何情况下的条件,您也会返回一个值。

情况下的返回语句位于if块内,因此您的路径不会以返回语句结束。既然您已经在开关情况下使用了if条件,为什么不简单地创建一个完整的if结构呢?这样,您就可以相当快地找到您的bug。您不仅应该在答案中添加bug,还应该添加代码。因此,如果案例中不满足条件,他应该返回true,而不是编写默认值。
bool Validate(TextBox textBox , string type)
           // textboxL - textbox accept only letters of alphabets and space.Is Mandatory
           // textboxS - textbox accept  letters of alphabets , space , - , _  .Is Mandatory
          // return true by default
        {
            switch(type)
            {
                case "textboxL":
                    if (!Regex.IsMatch(textBox.Text, @"^[a-zA-Z]+$") || String.IsNullOrEmpty(textBox.Text)) {
                        MessageBox.Show("Invalid!!" + textBox.Text + "must  contain only letters and shouldn't be empty");
                        return false;
                    }  
                    break;
                case "textboxS":
                    if (!Regex.IsMatch(textBox.Text, @"^[a-zA-Z-_ ]+$") || String.IsNullOrEmpty(textBox.Text)) { 
                        return false; 
                    }
                    break;
                default: return true; 
            }
        }
switch(type) {
    case "A" : if (condition) return true; else return false; break;
    case "b" : if (condition) return true; else return false; break;
...
...
}