我有以下代码行,
sitetb.Text = sitesformdataset.Tables["Sites"].Rows[_selectedindex].Field<string>("SiteName").ToString();
这将返回
System.NullReferenceException; 你调用的对象是空的。
我知道它为什么返回此异常,那是因为该单元格中没有任何内容。
我该如何正确处理这个?
尝试
if(sitesformdataset!=null&&sitesformdataset.Tables["Sites"]!=null)
{
sitetb.Text = sitesformdataset.Tables["Sites"].Rows[_selectedindex].Field<string>("SiteName").ToString();
}
你不需要打电话.ToString()
.Field<string>("SiteName")
转换为 string ,你不需要再次调用 tostring 。
sitetb.Text = sitesformdataset.Tables["Sites"].Rows[_selectedindex].Field<string>("SiteName");
如果你的单元格值为 null 那么你不能调用ToString
null 对象的方法,那将失败。
如果您已经检查了_selectedindex
!= -1 并且在正确的范围内,则正确的代码如下:
sitetb.Text = (sitesformdataset.Tables["Sites"].Rows[_selectedindex].Field<string>("SiteName")?? "").ToString();
这是这篇短文:
var cellContetnt = sitesformdataset.Tables["Sites"].Rows[_selectedindex].Field<string>("SiteName");
if(cellCount == null)
sitetb.Text = "";
else
sitetb.Text = cellContent.ToString();