1. 目的:获取当前下拉框选项值
2. String str = combox.selectedItem;
3. 提示错误:无法将object 方法组转换未String类型
4.为何:combox.selectedItem = str可以编译,而2)中示例就出错。
5. 感谢各位帮忙,在此谢过
2. String str = combox.selectedItem;
3. 提示错误:无法将object 方法组转换未String类型
4.为何:combox.selectedItem = str可以编译,而2)中示例就出错。
5. 感谢各位帮忙,在此谢过
string str = this.comboBox1.SelectedItem.ToString();
MessageBox.Show(str);
说明你调用了一个方法,但是没有打括号。
比如
string foo()
{
return "aaa";
}
如果是
string a = foo; //报错。
应该是
string a = foo();
str=selecteditem 要求object转string,你出错了,说明无法隐式转换
selecteditem=str要求string转object,肯定是可以的。
首先明确一点,就是所有的数据类型都是继承自object,所以object obj1 = 。。,所以对象都可以赋值给这个。
但是如果你把基础类的对象赋值给高级对象,那肯定是不行的,比如string str1 = 一个object类型的对象,这个object级别太低了,string就不认你,你得用一些方法让string认识,比如上面说的tostring方法,就可以解决问题。
string str =combox. selectedItem显然是错的,因为你取的不是某个对象,而是对象里的某个值if(combox.selectedItem !=null)
{
你的对象 obj = combox.selectedItem as 你的对象
string str = obj.属性
}
或者tostring()
回答:combox.selectedItem的值是object类型,他类似于泛型,也就是任何类型值都可以赋值给他,包括一个Entity这样的一个class类,但是当你往回赋值是String类型相当于一个基本类型,只能接受String类型的值,所以你必须把object类型的值强制转换成String类型传值给他!