-2

对于我正在编写的程序,我想询问一个名称,如果输入有一个数字或其他不需要的输入来循环返回并再次执行。

这是我当前的代码

private void gameForm_Load(object sender, EventArgs e)
{
    string value = "Type here";
    if (globalVariables.InputBox("Name", "Please enter name", ref value) == DialogResult.OK)
    {
        name = value;
        if (name.All(char.IsLetter))
        {
            lblName.Text = value;
        }
        else
        {
        }
    } 
}

如果存在无效输入,我如何重新运行此代码?

4

3 回答 3

0

创建一个新方法 public void NameCheck()"然后把你要运行的代码放在那里"

然后在页面加载中放入 NameCheck(); 调用该方法。

因此,如果名称包含数字,则调用 NameCheck(); 再次在其他。

    public void NameCheck()
    {
        string value = "Type here";
        if (globalVariables.InputBox("Name", "Please enter name", ref value) == DialogResult.OK)
        {
            name = value;
            if (name.All(char.IsLetter))
            {
                lblName.Text = value;
            }
            else
            {
                NameCheck();
            }
        }
    }


    private void gameForm_Load(object sender, EventArgs e)
    {
        NameCheck();
    }
于 2014-07-20T02:47:04.020 回答
-1
    private void gameForm_Load(object sender, EventArgs e)
    {
        reAsk:
        string value = "Type here";
        if (globalVariables.InputBox("Name", "Please enter name", ref value) == DialogResult.OK)
        {
            name = value;
            if (name.All(char.IsLetter))
            {
                lblName.Text = value;
            }
            else
            {                      
                goto reAsk;
            }
        }
    }
于 2014-07-19T23:26:59.980 回答
-1

你可以使用while循环

while(true)
{
   if (globalVariables.InputBox("Name", "Please enter name", ref value) == DialogResult.OK)
    {
        name = value;
        if (name.All(char.IsLetter))
        {
            lblName.Text = value;
            break;
        }
    }
}
于 2014-07-19T22:51:38.760 回答