【发布时间】:2019-07-08 07:37:21
【问题描述】:
我希望输入类型为 int,例如int 数字,而不是字符串然后解析。因此,当我尝试解析 InputNumber int.Parse(InputNumber.Text) 时,我收到输入字符串格式不正确的错误。
它可以工作,但是每当我按 Backspace 删除数字时,我的项目就会崩溃。
正如我所说,我尝试将输入解析为 int。
int.Parse(InputNumber.Text)
所以如果我可以使用 int 我的方法会更短更容易理解。
private void InputNumber_TextChanged(object sender, TextChangedEventArgs e)
{
string number = InputNumber.Text;
bool isEvenOdd = EvenOddChecker.IsEvenOdd(number);
OutputNumber.Text = number + (isEvenOdd ? " is a even number" : " is a odd number");
if (InputNumber.Text == string.Empty)
{
OutputNumber.Clear();
}
}
public static bool IsEvenOdd(string number)
{
List<string> even = new List<string>()
{
"0","2","4","6","8"
};
foreach (var e in even)
{
if (number.Substring(0, number.Length - 1).ToString() == e)
{
return true;
}
}
return false;
}
我希望输出 2 是偶数,但实际输出是奇数。
或者例如3应该是奇数,它说是偶数。
【问题讨论】:
-
number的值是多少?是数字吗? -
@PrasadTelkikar 0 ,因为用户需要输入它。
-
使用
if(int.TryParse(textBox.Text, out int value)) { }。 -
@SᴇM 在方法中还是?
-
您的输出中有错字,应该是“an偶数”和“奇数”。