C# 清除列表但保留会话

C# 清除列表但保留会话,c#,list,session,C#,List,Session,我有一个特定的代码和列表,如图所示 var refinedClaimSearchNew = new ClaimSearch(); for (int i = 1; i < refineDictionary.Length; i++) { List<ClaimSearchDataValues> claimTable = new List<ClaimSearchDataValues>(); int count = i; if (count == 1

我有一个特定的代码和列表,如图所示

var refinedClaimSearchNew = new ClaimSearch();
for (int i = 1; i < refineDictionary.Length; i++)
{
    List<ClaimSearchDataValues> claimTable = new List<ClaimSearchDataValues>();
    int count = i; 
    if (count == 1) { claimTable = refinedClaimSearch.RowValues; }
    else { //My problem is in this else loop
           claimTable = (List<ClaimSearchDataValues>)Session["Test"];//Get the list out of session
           if (refinedClaimSearchNew.RowValues != null) { refinedClaimSearchNew.RowValues.Clear(); //And then clear the list but retain session value} 
         }

    var dictionaryItems = refineDictionary[i];
    string[] dictionaryItemsSplit = dictionaryItems.Split(',');

    for (int j = 1; j < dictionaryItemsSplit.Length; j++)
    {
       var nodeElement = dictionaryItemsSplit[j];
       foreach (var row in claimTable)
       {
          var currentRow = row;
          bool hasRefineValue = false;
          foreach (var rowValues in currentRow.CellValues)
          {
              if (rowValues.Key == nodeElement || rowValues.Value == nodeElement)
              {
                  hasRefineValue = true;
              }
          }
          if (hasRefineValue == true)
          {
             refinedClaimSearchNew.RowValues.Add(currentRow);
          }
       }
    }
    Session["Test"] = refinedClaimSearchNew.RowValues;//storing list in session
}
我正在会话中存储一个列表,在下一次迭代中,我想从会话中删除存储的列表,但同时清除列表,以便再次使用新列表。。 但是当我从会话中取出列表时,它看起来很好,下一行当我清除列表时,从会话中检索到的列表也变成了0。。
请帮助我了解如何执行此操作….

refinedClaimSearchNew.RowValues.Clear此不是会话可以删除/清除。使用Session.clearAll;在您的elseor中添加这一行,或者如果您想清除特定会话,则使用session.remove[session_name];