参数对象在传递给函数后变为null

时间:2017-02-07 09:30:05

标签: c# list function

我是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;
    }

1 个答案:

答案 0 :(得分:1)

buildHSCodeDocument中,传递给BuildDescriptionString的参数无法为null。但是对BuildDescriptionString进行了递归调用,其中传递了findParentItem的返回值。 可能findParentItem会返回null