我是c#的新手。我正在尝试将列表项作为函数的参数发送。在传递之前,该项目存在。但在函数内部它似乎是null。如果有人能解释我的错误,我将不胜感激。
List<HSCodeData> HSCodeDataList;
internal void buildHSCodeDocument(List<HSCodeData> initHSCodeDataList)
{
HSCodeDataList = initHSCodeDataList;
foreach (HSCodeData dataItem in HSCodeDataList)
{
if ((dataItem != null)&&(dataItem.HSCode!=""))
{
string descriptionString = BuildDescriptionString(dataItem);
dataItem.ParentHSCode = descriptionString;
}
}
}
internal string BuildDescriptionString(HSCodeData HSCodeDataItem)
{
string descriptionString = HSCodeDataItem.Description + ItemSuggestedDescription(HSCodeDataItem);
if ((ItemHasParent(HSCodeDataItem.ParentHSCode)) && (HSCodeDataList != null) && (HSCodeDataList.Count != 0))
{
descriptionString += BuildDescriptionString(findParentItem(HSCodeDataItem.ParentHSCode));
}
return descriptionString;
}
答案 0 :(得分:1)
在buildHSCodeDocument
中,传递给BuildDescriptionString
的参数无法为null
。但是对BuildDescriptionString
进行了递归调用,其中传递了findParentItem
的返回值。
可能findParentItem
会返回null
。