Visual Studio 2010 - (Windows窗体)在C#中
我有这段代码:
private void cbxValuta_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
string primo = cbxValuta.SelectedItem.ToString();
string secondo = cbxValuta2.SelectedItem.ToString();
double cambio = double.Parse(CurrencyConverter.Convert(1.0m, primo, secondo));
tbxConvertito.Text = (double.Parse(tbxDaConvertire.Text) * cambio).ToString();
我收到此错误:
NullReferenceException未处理 对象引用未设置为对象的实例。
我如何解决这个问题?
答案 0 :(得分:1)
你可能没有SelectedItem
我的组合框。
当前所选项目的对象;如果当前没有选定项目,则为null。
然后这些行可能会在ToString()
:
string primo = cbxValuta.SelectedItem.ToString();
string secondo = cbxValuta2.SelectedItem.ToString();
答案 1 :(得分:1)
SelectedItem
返回null。尝试添加检查是否已选择项目
if(cbxValuta.SelectedItem != null && cbxValuta2.SelectedItem != null)
{
string primo = cbxValuta.SelectedItem.ToString();
string secondo = cbxValuta2.SelectedItem.ToString();
// ....
}
答案 2 :(得分:1)
你写了这个异常发生在这个字符串:
string secondo = cbxValuta2.SelectedItem.ToString();
表示或cbxValuta2为null,或者cbxValuta2.Selected项为null。检查您在此组合框中选择了哪些内容。
答案 3 :(得分:0)
这意味着cbxValuta2
或(更有可能)cbxValuta2.SelectedItem
为null
。这并不奇怪 - 如果您有一个用户可以选择零项的列表,null
很可能是值。
在调用任何方法(在本例中为if
)之前,您应该使用ToString()
进行检查。
答案 4 :(得分:0)
primo为null,因为cbxValuta没有选定的项目。