请问如果我没有解决这个问题可能会导致什么?
第二个问题是修复它的可能性是什么。
我收到以下代码:
if (cb_vyber_cena.SelectedItem == "Jiná"){ cena_zaj = txt_jin_cena.Text;}
我收到以下警告:
可能的意外参考比较;要进行值比较,请将左侧转换为“字符串”
==
被重载为static
操作,而不是virtual
操作。如果SelectedItem
键入为object
,则只会执行引用相等检查。如果您打算将值作为字符串进行比较,则需要添加强制转换:
if ((string)cb_vyber_cena.SelectedItem == "Jiná") {
cena_zaj = txt_jin_cena.Text;
}
这将允许它使用类型的==
重载string
。请注意,如果您不确定这SelectedItem
是一个string
,您可能还需要一个类型测试:
if ((cb_vyber_cena.SelectedItem as string) == "Jiná") {
cena_zaj = txt_jin_cena.Text;
}
或者,您可以使用以下virtual
实现Equals
:
if ("Jiná".Equals(cb_vyber_cena.SelectedItem)) {
cena_zaj = txt_jin_cena.Text;
}
请注意,如果is ,我"Jiná"
在左侧使用以避免出现问题。SelectedItem
null