int PaperID = int.Parse(this.PreParationGrid.SelectedItems[0][4].ToString()); 
这句总报”未将对象引用设置到对象的实例“, 我知道PaperID没取到值,那该怎么加判断呢?

解决方案 »

  1.   

    SelectedItems[0]或SelectedItems[0][4]不存在
      

  2.   

    应该是this.PreParationGrid.SelectedItems[0][4]这个得不到对象 而你后面又ToString(),则会引发未将对象引用设置到对象的实例的错误。
      

  3.   

       SelectedItems[0][4]存在,只是没有值,我该怎么写呢?
      

  4.   

    bool res=int.TryParse(this.PreParationGrid.SelectedItems[0][4]==null?"":this.PreParationGrid.SelectedItems[0][4].ToString(),out PaperID); 
      

  5.   

    this.PreParationGrid.SelectedItems[0][4]为null的时候,就不能用ToString(),如何他为null,你让他返回""空字符串,否则就ToString();
      

  6.   

    if(PreParationGrid.SelectedItems[0][4]==null)
    return;
    else
     int.TryParse(this.PreParationGrid.SelectedItems[0][4].ToString(),out PaperID); 
      

  7.   

    string.IsNullOrEmpty(this.PreParationGrid.SelectedItems[0][4]) ? 0 : Int32.Parse(this.PreParationGrid.SelectedItems[0][4]);
      

  8.   

    int PaperID = Convert.ToInt32(this.PreParationGrid.SelectedItems[0][4]??"0");
      

  9.   

    先判断  this.PreParationGrid.SelectedItems[0][4].ToString() 是不是为空 或者 等于 ""再int.Parse()
      

  10.   


    是的,this.PreParationGrid.SelectedItems[0][4].ToString()不存在值就会报错,所以这样更保险
    int? PaperID = this.PreParationGrid.SelectedItems[0][4].ToString() as int? if(PaperID!=null)
    {
    //执行代码
    }
      

  11.   

    额。这个也有人问,加判断是否为空‘null’
      

  12.   


    int a = 0;
    if(this.PreParationGrid.SelectedItems[0][4]!="")
    {
         a = Convert.ToInt32(this.PreParationGrid.SelectedItems[0][4]);
    }