C# 我可以创建一个行为类似于向量/列表的会话变量吗?

C# 我可以创建一个行为类似于向量/列表的会话变量吗?,c#,session-variables,C#,Session Variables,所以,我使用的是C#,我真的需要在会话变量中存储多个数据。我不能根据需要定义尽可能多的会话变量,因为我认为这个数字可能是无限的 我需要将所有内容存储在一个会话中,然后循环使用它。可能吗 因此:我有一个包含产品的页面,客户可以向购物篮中添加任意数量的项目(所有这些都发生在同一页面上)。您可以使用一个键“购物篮”(或“购物车”)迭代所有键或存储元素列表: IList GetCartLines() { 返回会话[“篮子”]作为列表; } void AddToCart(CartItem项目) { var

所以,我使用的是C#,我真的需要在会话变量中存储多个数据。我不能根据需要定义尽可能多的会话变量,因为我认为这个数字可能是无限的

我需要将所有内容存储在一个会话中,然后循环使用它。可能吗


因此:我有一个包含产品的页面,客户可以向购物篮中添加任意数量的项目(所有这些都发生在同一页面上)。

您可以使用一个键“购物篮”(或“购物车”)迭代所有键或存储元素列表:

IList GetCartLines()
{
返回会话[“篮子”]作为列表;
}
void AddToCart(CartItem项目)
{
var cartLines=会话[“篮子”]作为列表;
if(cartLines==null)
会话[“Basket”]=cartLines=newlist();
cartLines.Add(项目);
}

在会话中添加列表(或数组)时出现了什么问题?这是否回答了您的问题?if语句不是(cartLines==null)吗?这对我有帮助,谢谢!看到会话对象如何通过使用addovercartlines(隐式地就是会话对象)变得更大,真是奇怪
IList<CartItem> GetCartLines()
{
    return Session["Basket"] as List<CartItem>;
}

void AddToCart(CartItem item)
{
    var cartLines = Session["Basket"] as List<CartItem>;
    if(cartLines==null)
        Session["Basket"] = cartLines = new List<CartItem>();
    cartLines.Add(item);
}