我正在尝试创建各种密码系统..我是一个包含列表的类。它看起来像这样:
public class LogInList
{
public int AnsNr { get; set; }
public List<LogInList> GetNr()
{
List<LogInList> Nr = new List<LogInList>();
Nr.Add(new LogInList { AnsNr = 101 });
return Nr;
}
}
在我的表单中,我有一个按钮..当您点击它时,会弹出一个表单。您要做的是从LogInList中的List中记下正确的数字。这就是我试图做的事情,我无法让它发挥作用。表单中按钮的代码如下所示:
public partial class LogIn : Form
{
LogInList Log = new LogInList();
public LogIn()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (inMatningTextBox.Text = Convert.ToInt32(Log.AnsNr);
{
}
}
}
我已经尝试解决这个问题了一段时间......我似乎无法做到这一点。请帮我!我一直有Cannot implicitly convert type 'int' to 'string'
个错误。
答案 0 :(得分:0)
您正在尝试将字符串(文本框中的文本)与Int32值进行比较。你错过了应转换为整数的内容:
if (Log.AnsNr = Convert.ToInt32(inMatningTextBox.Text)) // remove ;
{
}
或者更好地使用Int32.TryParse方法检查用户是否输入了可以转换为整数的文本:
private void button1_Click(object sender, EventArgs e)
{
int value;
if (!Int32.TryParse(inMatningTextBox.Text, out value))
{
// show error message, because text is not integer
return;
}
if (value == Log.AnsNr)
{
// do your stuff
}
}
注意:如果您需要整数值,那么最好使用NumericUpDown控件而不是TextBox。
答案 1 :(得分:0)
看起来有一些小问题:
if (inMatningTextBox.Text = Convert.ToInt32(Log.AnsNr)
Convert.ToInt32
的结果分配给inMatningTextBox.Text
。我想你想比较一下。int
与string
值进行比较;
。我想你想要这个:
if (inMatningTextBox.Text == Log.AnsNr.ToString())
{
}