winform程序:一个comboBox控件 
在窗体加载Load事件中
 cmbStatus.SelectedValue.ToString();未将对象引用到对象的实例?   原来是SelectedValue是NULL
有什么办法用一个表达式写成如果cmbStatus.SelectedValue.ToString() 值是null 那么cmbStatus.SelectedValue.ToString()值是"";我记的好像是cmbStatus.SelectedValue.ToString()? 后面什么代码了?

解决方案 »

  1.   

    Convert.ToString(cmbStatus.SelectedValue)或者你先判断 cmbStatus.SelectedIndex 是否是 -1
      

  2.   

    cmbStatus.SelectedValue != null ? cmbStatus.SelectedValue.ToString() : "";
      

  3.   

    cmbStatus.SelectedValue == null ?"": cmbStatus.SelectedValue.ToString() ;
      

  4.   

    cmbStatus.SelectedValue != null ? cmbStatus.SelectedValue.ToString() : "";
      

  5.   

    三元运行符  ? :cmbStatus.SelectedValue != null ? cmbStatus.SelectedValue.ToString() : "";
      

  6.   

    楼上几位真快。。 都正解 不过按楼主所写的顺序就是cmbStatus.SelectedValue == null ?  "" :cmbStatus.SelectedValue.ToString() ;
    意思就是 如果 cmbStatus.SelectedValue == null为真的话 ,cmbStatus.SelectedValue= ""
     如果 cmbStatus.SelectedValue == null为假的话 ,cmbStatus.SelectedValue= cmbStatus.SelectedValue.ToString();
      

  7.   

    cmbStatus.SelectedValue == null ?"": cmbStatus.SelectedValue.ToString() ;这个等式VS调试的时候cmbStatus.SelectedValue 一下就报错  根本不看后面的== null ?"": cmbStatus.SelectedValue.ToString() ;只要你的表达式不是一个整体,就给报错了,还有好的办法没?
      

  8.   

    String value = cmbStatus.SelectedValue == null ?"": cmbStatus.SelectedValue.ToString() ;
      

  9.   

    String value ="";
    cmbStatus.SelectedValue == null ?  cmbStatus.SelectedValue="": value = cmbStatus.SelectedValue.ToString() ;楼主试试这个
      

  10.   

    cmbStatus.SelectedValue 的值是null //注意没有ToString()
    cmbStatus.SelectedValue.ToString() 的值是""
    这俩是完全不同的概念 建议你别想着改变cmbStatus.SelectedValue 而是用一个变量来承载 
    这样会有很大的灵活性