如何检查文本框是否为空,然后仅除以int
的数量。正如你现在所看到的,我每次都会除以10,所以现在我需要帮助进行错误检查。
namespace Assignment1_White
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int num1;
int num2;
int num3;
int num4;
int num5;
int num6;
int num7;
int num8;
int num9;
int num10;
int answer;
num1 = int.Parse(num100.Text);
num2 = int.Parse(num200.Text);
num3 = int.Parse(num300.Text);
num4 = int.Parse(num400.Text);
num5 = int.Parse(num500.Text);
num6 = int.Parse(num600.Text);
num7 = int.Parse(num700.Text);
num8 = int.Parse(num800.Text);
num9 = int.Parse(num900.Text);
num10 = int.Parse(num1000.Text);
answer = (num1 + num2 + num3 + num4 + num5 + num6 + num7 + num8 + num9 +num10)/10;
MessageBox.Show(answer.ToString());
答案 0 :(得分:6)
string.IsNullOrEmpty(num100.Text)
如果它为空,则返回true,否则返回false。
您也可以使用int.TryParse而不是int.Parse。如果您使用TryParse,您还将隐式处理文本框中的非int值:
if(!int.TryParse(num100.Text, out num1))
num1 = 0;
// And for the rest...
修改强>
在Brian的评论之后,我意识到如果某些方框输入空/无效,你不应该除以10。以下是您应该使用的块:
int count = 0;
int num1 = 0;
// And the rest...
if(int.TryParse(num100.Text, out num1))
count++;
// And the rest...
int answer = 0;
if(count > 0)
answer = (num1 + num2 + num3 + num4 + num5 + num6 + num7 + num8 + num9 + num10)
/ count;
答案 1 :(得分:1)
您可以执行以下操作:
int count = 0;
//For each textbox
if(num100.Text != "")
{
num1 = int.Parse(num100.Text);
count++;
}
然后除以计数
答案 2 :(得分:0)
private void button1_Click(object sender, EventArgs e)
{
int answer;
int num1 = !string.IsNullOrEmpty(num100.Text)? int.Parse(num100.Text):0;
int num2 = !string.IsNullOrEmpty(num200.Text)? int.Parse(num200.Text):0;
//etc...
answer = (num1 + num2 + num3 + num4 + num5 + num6 + num7 + num8 + num9 +num10)/10;
MessageBox.Show(answer.ToString());
答案 3 :(得分:0)
int num1 = 0;
if(!String.IsNullEmpty(num1.Text) && (new Regex("^/d$").Match(num1.Text)))
{
num1 = Int32.Parse(num1.Text);
}
为每个文本框执行此操作,这将检查空文本框和非数字条目。