我正在尝试将一个数据表添加到一个属于某种模态类的DataTable列表(post过滤器操作)。我在调试语句_return.SearchResult.Add(_i);上得到了下面的异常。我在实际的语句中也得到了同样的错误,_return.SearchResult.Add(_t);。请帮助我找出问题所在。
谢谢&致敬,S.Sudharsan
System.NullReferenceException
HResult=0x80004003
Message=Object reference not set to an instance of an object.
Source=*******
StackTrace:
at *******.*******.searchCMDBData(String SearchString) in D:\GIT_VS2019_WorkSpace\*******\*******\*******.asmx.cs:line 38
at *******.*******._Default.DoSearch(Object sender, EventArgs e) in D:\GIT_VS2019_WorkSpace\*******\*******.*******\Default.aspx.cs:line 57 public QR searchCMDBData(string SearchString)
{
QR _return = new QR();
_return.responseType = ResponseType.MESSAGE;
_return.responseMsg = "Successfully called as expected";
string INVENTORY_FILE = ConfigurationManager.AppSettings["INVENTORY_FILE_PATH"];
List<DataTable> _ret = new List<DataTable>();
_ret = CMDB.GetRequestsDataFromExcel(INVENTORY_FILE);
foreach (DataTable _i in _ret)
{
_return.SearchResult.Add(_i);
if (_i.TableName == "Inventory Consolidated")
{
DataTable _t = _i.AsEnumerable()
.Where(r => r.Field<string>("IP Address").Equals(SearchString) || r.Field<string>("Host Name").Equals(SearchString))
.CopyToDataTable();
if (_t.Rows.Count > 0)
{
_return.SearchResult.Add(_t);
}
}
}
return _return;
}public enum ResponseType { SUCCESS, MESSAGE };
public class QR
{
public ResponseType responseType;
public string responseMsg;
public List<DataTable> SearchResult;
}发布于 2020-11-04 01:12:22
您必须更新List<DataTable> SearchResult,否则您将尝试将一个值插入到空列表中,而不是插入到空列表中。
您可以在QR类的构造函数中执行此操作,如下所示:
public class QR
{
public ResponseType responseType;
public string responseMsg;
public List<DataTable> SearchResult;
public QR(){
SearchResult = new List<DataTable>();
}
}https://stackoverflow.com/questions/64657215
复制相似问题