ASP.net中该表达式的编程含义是什么?

时间:2012-12-09 17:31:40

标签: c# asp.net session expression

ASP.net中该表达式的编程含义是什么?

List<int> productsInCart = (List<int>)Session["cart"];

提前感谢..

3 个答案:

答案 0 :(得分:2)

这不是ASP.NET语法,而是C#一种。

Session看起来是一个关联数组,其索引的类型为string["cart"]是索引,即通过它的索引或“地址”访问数组元素,这里的类型为string。可能你更了解术语“键值存储”,而不是“关联数组”。这些术语的含义相同。

虽然为Session定义了索引类型,但它的内容类型看起来被定义为object,即一种类型,它可以保存任何类型的对象。

List<int> productsInCart是名称productsInCartList<int>类型变量的定义。这种类型意味着变量包含整数值的列表(即非固定长度数组)。这些价值可能是商品的价值。

(List<int>)是类型广告,其中C#表示只是一项检查,从object数组中重新获得的Session实际上是List<int>类型。

C#中,可以将任何子类型分配给超类型变量而不进行检查。例如,List<int>变量可以分配给object。这总是可行的,不需要铸造。反向分配并非总是如此。只有那些onject可以分配给实际拥有此类型的List<int>变量。因此,如果类型不正确,则需要使用显式类型转换作为异常源。

答案 1 :(得分:0)

此表达式是creating类型为int的列表,来自现有列表对象,该对象位于具有key cart的Session中,在分配之前被转换为list<int>

  • Session["cart"]会话是一个集合,用于保存对象,Session["cart"]保持带有键名称购物车的对象。

  • (List<int>)用于输入由Session["cart"]

  • 返回的对象
  • List<int> productsInCart创建了List<int>

  • 类型的对象

答案 2 :(得分:0)

代码

  (List<int>)

是类型转换。这意味着它正在转换

  Session["cart"]

进入整数类型列表并将该列表保存在productInCart列表中。