我有下面的代碼線的一個實例,DataTable;對象引用不設置爲一個對象
sitetb.Text = sitesformdataset.Tables["Sites"].Rows[_selectedindex].Field<string>("SiteName").ToString();
這將返回
System.NullReferenceException;對象引用未設置爲對象的實例 。
我知道它爲什麼會返回這個異常,那是因爲該單元格中沒有任何東西。
我該如何正確處理?
我有下面的代碼線的一個實例,DataTable;對象引用不設置爲一個對象
sitetb.Text = sitesformdataset.Tables["Sites"].Rows[_selectedindex].Field<string>("SiteName").ToString();
這將返回
System.NullReferenceException;對象引用未設置爲對象的實例 。
我知道它爲什麼會返回這個異常,那是因爲該單元格中沒有任何東西。
我該如何正確處理?
您無需致電.ToString()
.Field<string>("SiteName")
轉換爲字符串,您不需要再次調用tostring。
sitetb.Text = sitesformdataset.Tables["Sites"].Rows[_selectedindex].Field<string>("SiteName");
如果你的null值,那麼你可以不叫空對象的ToString
方法,這將失敗。
如果已經檢查了_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();
請嘗試
if(sitesformdataset!=null&&sitesformdataset.Tables["Sites"]!=null)
{
sitetb.Text = sitesformdataset.Tables["Sites"].Rows[_selectedindex].Field<string>("SiteName").ToString();
}
如果您指的是'Field'爲null,那麼在調用'ToString()'之前必須首先檢查null – musefan