我在以下代码的运行时收到“InvalidCastException
”:
我的 C# WinForm 代码包含一个组合框,它使用以下代码从数据库中填充:
public void PopulateCompetitionFormatDd()
{
var _competitionFormat = new CompetitionFormatBL();
cbCompetitionFormat.DataSource = _competitionFormat.GetByAllCompetitionFormats();
cbCompetitionFormat.ValueMember = "CompetitionFormatId";
cbCompetitionFormat.DisplayMember = "CompetitionFormatType";
}
ValueMember
(CompetitionFormatId
) 是一个数字列表,DisplayMember
(CompetitionFormatType
) 是一个 string
文本。当我在运行时更改此组合框中的项目时,我收到错误“InvalidCastException
”。
private void cbCompetitionFormat_SelectedIndexChanged(object sender, EventArgs e)
{
int competitionFormat = 1;
competitionFormat = (int)cbCompetitionFormat.SelectedValue;
}
知道我做错了什么以及如何解决吗?
最佳答案
你必须检查它是否是一个整数。
int competitionFormat;
bool result = Int32.TryParse(cbCompetitionFormat.SelectedValue, out competitionFormat);
if (result) { }
关于c# - 如何解决 "InvalidCastException"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14327071/