ASP.netでのその式のプログラミングの意味は何ですか?
List<int> productsInCart = (List<int>)Session["cart"];
前もって感謝します..
ASP.netでのその式のプログラミングの意味は何ですか?
List<int> productsInCart = (List<int>)Session["cart"];
前もって感謝します..
これはASP.NET構文ではありませんが、構文C#です。
Sessionインデックスがタイプの連想配列のように見えますstring。["cart"]インデックス付けです。つまり、インデックスまたは「アドレス」によって配列要素にアクセスします。これは、ここではタイプstringです。「連想配列」ではなく、「Key-Valueストレージ」という用語をよく知っているかもしれません。用語は同じ意味です。
インデックスタイプはSessionに対して明確に定義されていますが、そのコンテンツタイプはobject、つまり、任意のタイプのオブジェクトを保持できるタイプとして定義されているように見えます。
List<int> productsInCartproductsInCart名前とタイプの変数の定義ですList<int>。このタイプは、変数に整数値のリスト(つまり、固定長でない配列)が含まれていることを意味します。おそらくこれらの値は商品のIDです。
(List<int>)型キャストです。これは、配列から取得されたが実際には型でC#あるという単なるチェックを意味します。objectSessionList<int>
どのサブタイプでも、C#チェックなしでスーパータイプ変数に割り当てることができます。たとえば、List<int>変数をに割り当てることができますobject。これは常に可能であり、キャストは必要ありません。逆割り当ては常に可能ではありません。実際にこのタイプを持っている変数にonject割り当てることができるのはそれらだけです。List<int>したがって、型が正しくない場合に例外ソースとして機能する明示的な型キャストが必要です。
この式は、割り当て前に型キャストされcreatingたセッションにある既存のリストオブジェクトからのint型のリストです。key cartlist<int>
Session["cart"]セッションは、オブジェクトを保持するコレクションであり、Session["cart"]キー名がカートのオブジェクトを保持します。
(List<int>)によって返されるオブジェクトを型キャストするために使用されますSession["cart"]
List<int> productsInCartタイプの作成されたオブジェクトList<int>
コード
(List<int>)
型キャストです。それはそれが変換していることを意味します
Session["cart"]
整数型のリストに追加し、そのリストをproductInCartリストに保存します。