在计算列表框中的元素时出现无效的转换错误
Invalid cast error occurs in calculating elements in the listbox
我正在尝试从 C# 中的列表框数据计算中值。
但是,在 foreach 语句中发生无效转换异常,如下所示(粗体):
foreach (字符串项 in ListBox1.Items)
谁能帮我解决这个错误?将不胜感激。
谢谢。
System.InvalidCastException: Unable to cast object of type
'System.Int32' to type 'System.String'
private void calcButton_Click(object sender, EventArgs e)
{
medianList.Clear();
ListBox2.Items.Clear();
if (sourceList.Count == 0)
{
double tInt;
foreach (string item in ListBox1.Items)
{
if (double.TryParse(item, out tInt) == true)
sourceList.Add(tInt);
}
}
if (ListBox1.Items.Count > 0)
{
if (RadioButton1.Checked)
MiddleMedian();
else
AllMedian();
}
else
return;
DisplayResults();
sourceList.Clear();
}
嗯,错误信息是不是很有意义?
Unable to cast object of type 'System.Int32' to type 'System.String'
foreach (string item in ListBox1.Items)
因此您已将整数添加到 ListBox1
。然后修复它:
foreach (int tInt in ListBox1.Items)
sourceList.Add(tInt);
我正在尝试从 C# 中的列表框数据计算中值。 但是,在 foreach 语句中发生无效转换异常,如下所示(粗体):
foreach (字符串项 in ListBox1.Items)
谁能帮我解决这个错误?将不胜感激。
谢谢。
System.InvalidCastException: Unable to cast object of type 'System.Int32' to type 'System.String'
private void calcButton_Click(object sender, EventArgs e)
{
medianList.Clear();
ListBox2.Items.Clear();
if (sourceList.Count == 0)
{
double tInt;
foreach (string item in ListBox1.Items)
{
if (double.TryParse(item, out tInt) == true)
sourceList.Add(tInt);
}
}
if (ListBox1.Items.Count > 0)
{
if (RadioButton1.Checked)
MiddleMedian();
else
AllMedian();
}
else
return;
DisplayResults();
sourceList.Clear();
}
嗯,错误信息是不是很有意义?
Unable to cast object of type 'System.Int32' to type 'System.String'
foreach (string item in ListBox1.Items)
因此您已将整数添加到 ListBox1
。然后修复它:
foreach (int tInt in ListBox1.Items)
sourceList.Add(tInt);