首页 > 解决方案 > 如何防止 System.NullReferenceException

问题描述

我正在尝试从表单集合中获取数据:

foreach (string key in col.Keys)// where col is object of form collection
{
    if (col["ConstituntName[" + i + "]"].ToString() != null)
    { 
        UserRecordSubClass usr = new UserRecordSubClass();
        usr.Value = Convert.ToDecimal(col["ConstituntName[" + i + "]"]);
        usr.ConstituentNameId = Convert.ToInt32(col["ConstituntNameId[" + i + "]"]);
    }

    i++
}

但是当i2ConstituntName["+i+"]不存在时,它会抛出:

System.NullReferenceException。

在这种情况下如何防止这种异常?

标签: c#asp.netasp.net-mvc

解决方案


null打电话前检查一下.ToString()

if ( col["ConstituntName[" + i + "]"] != null 
     && col["ConstituntName[" + i + "]"].ToString() != null)

推荐阅读