C# 如果包含数字和字符串,请选中文本框

C# 如果包含数字和字符串,请选中文本框,c#,textbox,numbers,integer,c-strings,C#,Textbox,Numbers,Integer,C Strings,我是一名新程序员,我有一个项目,我希望文本框包含字母和至少1个数字。以下是我的代码: private void button1_Click(object sender, EventArgs e) { StreamWriter sw = File.AppendText("name.txt"); if (String.IsNullOrEmpty(textBox1.Text)) {

我是一名新程序员,我有一个项目,我希望文本框包含字母和至少1个数字。以下是我的代码:

private void button1_Click(object sender, EventArgs e)
        {
            StreamWriter sw = File.AppendText("name.txt");

            if (String.IsNullOrEmpty(textBox1.Text)) 
            {
                MessageBox.Show("Invalid name!\nPlease Try Again!");
            }
            else if (System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, "^[a-zA-Z ]*$") && System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, "^[0-9]"))
            {
                MessageBox.Show("The field accepts only letters and at least one number!\nPlease Try Again");
            }
            else
            {
                sw.WriteLine(textBox1.Text);
                MessageBox.Show("Player added Successfully!");
                Form3 f3 = new Form3();
                f3.Show();
            }
            sw.Close();
        }

若要检查字符串是否仅包含数字和字母,可以将其与一起使用,以检查该字符串中的所有字符是否与给定类型匹配

此外,我还使用与组合来检查是否至少有一个字符是数字

示例:

string s=textBox1.Text;
//检查所有字母是否仅为字母和数字
//如果至少有一个是数字。
布尔结果=!s、 全部(字符为Isleterordigit)| | |!s、 任何(字符为数字);

我还添加了一个检查,如果用户输入了文本,但它只包含空格。此外,我将代码封装在的using块中,以便它在离开using块后自动调用
Dispose()
方法

代码中的示例:

使用(StreamWriter sw=File.AppendText(“name.txt”)){
字符串s=textBox1.Text;
//检查字符串是否只包含空格、nothign或null。
if(String.IsNullOrWhiteSpace){
MessageBox.Show(“无效名称!\n请重试!”);
}
//检查所有字母是否仅为字母和数字
//如果至少有一个是数字。
else如果(!s.All(Char.isletordigit)| |!s.Any(Char.IsDigit)){
Show(“该字段只接受字母和
+至少有一个号码!\n请重试“);
}
否则{
西南书写线(s);
MessageBox.Show(“玩家添加成功!”);
Form3 f3=新Form3();
f3.Show();
}
}