学习C#中,请牛人勿耻笑题目:
输入一段文字,判断输入的文字是否是小写字母,如果是就提示“验证正确是小写字母”。不是就提示“验证失败”请不要用正则判断,我自己用char的islower方法,可是在foreach的时候,有点小问题,想不出解决办法
特来请教。 
private void button2_Click(object sender, EventArgs e)
        {
            char[] chars = textBox2.Text.ToCharArray();            foreach (char c in chars)
            {
                if (!char.IsLower(c))
                {
                    MessageBox.Show("不合格");
                    break; //退出循环
                }
            }
            MessageBox.Show("合格");//输入Aa会有2次提示。
        }
正则的判断我会的,大家就不用说了,就用islower的方法帮我解决下吧。正则System.Text.RegularExpressions.Regex.IsMatch(str, @"^[a-z]+$");=========因为实在没多少分,还请大家谅解C#charislower

解决方案 »

  1.   

    break 改为 return 就行了
      

  2.   

    对于Break,return的理解不够啊。break换成return
      

  3.   

    输入“break;”之后,看看代码加粗部分就懂了。
      

  4.   

    [code=csharp]
    bool isLower=true;
    foreach (char c in chars)
                {
    int ci = (int)c;
                    if (ci <97||ci>122)
                    {
                        MessageBox.Show("不合格");
    isLower=false;
                        break; //退出循环
                    }
                }
    if(isLower)
    {
    MessageBox.Show("合格");
    }[/code]
      

  5.   

    private void button2_Click(object sender, EventArgs e)
            {
                char[] chars = textBox2.Text.ToCharArray();
     
                foreach (char c in chars)
                {
                    if (c<'a' || c>'z')
                    {
                        MessageBox.Show("不合格");
                        return; //退出循环
                    }
                }
                MessageBox.Show("合格");//输入Aa会有2次提示。
            }
      

  6.   

    break是用来跳出循环的,例如for,while,do-while都可以跳出,但不跳出函数return是使整个函数返回的,后面的不管是循环里面还是循环外面的都不执行
      

  7.   


    public bool isLower(string str)
    {
    bool result = true;
     char[] chars = str.ToCharArray();             
    foreach (char c in chars)           
     {               
     if (!char.IsLower(c))        
            {                
         result = false;
            break;          
           }          }
    return result;
    }然后外部调用
    if(!isLower(textBox2.Text))
    {
       MessageBox.Show("不合格");        
    }
      

  8.   

    break 只会退出循环,还会往下执行,直接return 就可以了
      

  9.   


    MessageBox.Show(textBox2.Text.Where(a => !char.IsLower(a)).Count() > 0 ? "不合格" : "合格");
      

  10.   

    非常感谢是return和break我搞不清楚但仅仅有20分,我只能象征意义的给一些了,谢谢大家。