如何检查文本框是否仅包含零并显示警报消息?

nao*_*ouf 1 c# string string-matching

我使用带有C#. 我有一个带有button1和的表格textbox1

我想要的是:当我单击时button1,如果textbox1包含任何零或零(仅零的任何组合),则显示警报消息,例如:

0
00
0000
000
000000000
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码,但如果textbox1有多个零(如 000),它将不起作用

private void button1_Click(object sender, EventArgs e)
{    
    if (textBox1.Text == "0")
        MessageBox.Show("Enter Value larger than zero);
}
Run Code Online (Sandbox Code Playgroud)

如果单击时textbox1任何零组合,我如何获得警报消息button1

Arg*_*a C 5

您可以像这样检查字符串是否仅包含零 (0)

var str = "000000000";
var isZero = str.All(c => c == '0');
Run Code Online (Sandbox Code Playgroud)

或与 Regex

var isZeroWithRegex = Regex.IsMatch(str, "^0+$");
Run Code Online (Sandbox Code Playgroud)


Cod*_*und 5

您可以通过执行以下操作来修剪 0 个字符:

var text1 = "00000000";
var text2 = "00009000";

Console.WriteLine("Text1: {0}", string.IsNullOrWhiteSpace(text1.Trim('0')));
Console.WriteLine("Text2: {0}", string.IsNullOrWhiteSpace(text2.Trim('0')));
Run Code Online (Sandbox Code Playgroud)

返回:

文本 1:真实

Text2: false //因为我们在文本中间有9个。

在您的代码中,您将拥有如下内容:

private void button1_Click(object sender, EventArgs e)
{    
     if (string.IsNullOrWhiteSpace(textBox1.Text.Trim('0'))
           MessageBox.Show("Enter Value larger than zero");
}
Run Code Online (Sandbox Code Playgroud)