ASP.net中该表达式的编程含义是什么?
List<int> productsInCart = (List<int>)Session["cart"];
提前感谢..
答案 0 :(得分:2)
这不是ASP.NET
语法,而是C#
一种。
Session
看起来是一个关联数组,其索引的类型为string
。 ["cart"]
是索引,即通过它的索引或“地址”访问数组元素,这里的类型为string
。可能你更了解术语“键值存储”,而不是“关联数组”。这些术语的含义相同。
虽然为Session定义了索引类型,但它的内容类型看起来被定义为object
,即一种类型,它可以保存任何类型的对象。
List<int> productsInCart
是名称productsInCart
和List<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列表中。