运算符<不能应用于'string'和'int'类型的操作数吗?什么需要解决?

问题描述:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     if (yearworktextBox2.Text < 2 "Rejected") 

我正在尝试做如果语句但我不断收到错误。我的代码有什么问题?运算符<不能应用于'string'和'int'类型的操作数吗?什么需要解决?

+1

那'if'块是无效的......那将不会编译。什么是“拒绝”? –

+3

你打算“2”拒绝“”是什么意思? – jalf

Textbox.Text是一个字符串类型,你将它与一个整数进行比较。你需要首先解析你的文本框的值。

if (int.Parse(yearworktextBox2.Text) < 2 || yearworktextBox2.Text == "Rejected") 

但是,如果你的文本框的值是不能分析为一个整数,它会抛出一个异常,这似乎很可能,因为你似乎在期待或者“拒绝”或数值。你可以用你的if语句在TryParse之外解析它。

private void button1_Click(object sender, EventArgs e) 
{ 
    int textboxValue; 
    int.TryParse(yearworktextBox2.Text, out textboxValue); 

    if (textboxValue < 2 || yearworktextBox2.Text == "Rejected")