string类型连接与object类型

来源:百度知道 编辑:UC知道 时间:2024/06/08 11:53:06
C#中:

string str="";
str += numericUpDown1.Value.ToString() + cmbCity.SelectedItem + cmbProvice.SelectedItem;前面+有一个string 类型的字符串,后面跟着的object类型自动隐式转换为string类型,如果是把前面的string类型去掉,两个object类型不能相加报错,去掉一个又没问题
string abc = "";
abc += this.cmbProvice.SelectedItem; //通过
string abc = this.cmbProvice.SelectedItem; //不能通过

谁解释一下这是什么原因
str += cmbCity.SelectedItem + cmbProvice.SelectedItem
这一个又为什么不行呢,+=是带隐式转换的
str += cmbProvice.SelectedItem 这一个又可以
str = numericUpDown1.Value.ToString() + cmbCity.SelectedItem + cmbProvice.SelectedItem 这一个也可以

string abc = this.cmbProvice.SelectedItem; //不能通过

这个是赋值,你要把一个obj赋给String当然不行;

前面那个是 str+obj(带隐式转换) 结果还是一个String,String赋给String当然没问题

应该是cmbCity.SelectedItem + cmbProvice.SelectedItem

不行吧