如何在C#中检查输入是字符串还是字节?
我做了一个非常简单的程序,用户需要写下他的名字和年龄。然后弹出一个消息框,显示姓名和年龄。() 如何操作:如果年龄是一个字符串,则会弹出一个消息框,提示“年龄不是一个数字,用户需要重试”尝试以下操作:如何在C#中检查输入是字符串还是字节?,c#,.net,winforms,c#-6.0,C#,.net,Winforms,C# 6.0,我做了一个非常简单的程序,用户需要写下他的名字和年龄。然后弹出一个消息框,显示姓名和年龄。() 如何操作:如果年龄是一个字符串,则会弹出一个消息框,提示“年龄不是一个数字,用户需要重试”尝试以下操作: private void cmdSubmit_Click(object sender, EventArgs e) { var name = txtName.Text; int age; if(Int32.TryParse("txtAge.Text, out age))
private void cmdSubmit_Click(object sender, EventArgs e)
{
var name = txtName.Text;
int age;
if(Int32.TryParse("txtAge.Text, out age))
{
MessageBox.Show($"Your name is {name} and You're {age} years old.");
}
else
{
MessageBox.Show("Enter valid age");
}
}
请查看下面的链接以了解简要说明
尝试使用
NumericUpDown
控件,将最小值和最大值设置为一些合理的值,不要重新执行验证和解析从技术上讲,转换没有问题,如果所有数据都有效,这将起作用
private void cmdSubmit_Click(object sender, EventArgs e)
{
var name = txtName.Text;
var age = Convert.ToByte(txtAge.Text);
MessageBox.Show($"Your name is {name} and You're {age} years old.");
}
有几种方法可以验证您的数据,下面是您可能希望使用的另一种方法
private void cmdSubmit_Click(object sender, EventArgs e)
{
string name = txtName.Text;
short age; //This is an Int16 with a range of -32,768 to +32,767
short.TryParse(txtAge.Text,out age);
string ageStatement = age == 0 ? "your age is unknown" :
$"you're {age} years old";
MessageBox.Show($"Your name is {name} and {ageStatement}.");
锥虫
short.TryParse(txtAge.Text,out age);
如果txtAge.Text中的字符串数据不是数字,则TryParse会将年龄(out参数)设置为0(零)在有一个可拒绝无效输入的MaskedTextBox时读取。
private void cmdSubmit_Click(object sender, EventArgs e)
{
string name = txtName.Text;
short age; //This is an Int16 with a range of -32,768 to +32,767
short.TryParse(txtAge.Text,out age);
string ageStatement = age == 0 ? "your age is unknown" :
$"you're {age} years old";
MessageBox.Show($"Your name is {name} and {ageStatement}.");
short.TryParse(txtAge.Text,out age);