【发布时间】:2011-03-03 05:06:43
【问题描述】:
listBox2 内容:
0:第一个产品
1:ProductAgain
2:另一个产品
3:OkFinalProduct
当 listBox2 上的选定索引发生更改时,我要做的是让它使我的 int "DBID" 成为 ":" 之前数字的值。
这是我的尝试:
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox2.SelectedIndex == -1)
{
return;
}
int DBID;
DBID = Convert.ToInt32(listBox3.SelectedValue.ToString().Split(":"[0]));
ShowProduct(DBID);
}
非常感谢您对此的任何帮助:)
谢谢大家
编辑 - 抱歉,是的,我实际上尝试过:
DBID = Convert.ToInt32(listBox3.SelectedValue.ToString().Split(':')[0]);
但我收到以下错误:
- string.Split(params char[])' 的最佳重载方法匹配有一些无效参数
- Argument1:无法从 'string' 转换为 'char[]
编辑 #2 -
使用时:
DBID = Convert.ToInt32(listBox3.SelectedValue.ToString().Split(':')[0]);
运行应用程序并单击不同的列表框项后,我遇到了以下异常:
NullReferenceException 未处理。你调用的对象是空的。
感谢大家迄今为止的所有帮助!
【问题讨论】:
-
":"[0]是指':'? -
他的意思可能是
.Split(":")[0] -
对不起,是的,我实际上尝试过: DBID = Convert.ToInt32(listBox3.SelectedValue.ToString().Split(':')[0]);但我收到以下错误: string.Split(params char[])' 的最佳重载方法匹配有一些无效参数。参数 1:无法从 'string' 转换为 'char[]'
-
只有在使用引号而不是撇号时才会看到该错误。我刚刚进行了测试,使用我的答案中的代码可以完美运行。
-
有趣,我重新输入了它,没有错误!但是,当我实际运行应用程序并单击不同的值时,我遇到了这个异常: NullReferenceException - 对象引用未设置为对象的实例 :( 非常感谢到目前为止的帮助!