- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【C#】ハッシュテーブル(連想配列)の値が配列の場合について)
【C#】ハッシュテーブル(連想配列)の値が配列の場合について
このQ&Aのポイント
- C#でハッシュテーブル(連想配列)を利用する際、値が配列の場合について質問があります。
- 具体的には、ハッシュテーブルに配列を代入した後、配列の要素にアクセスする方法について知りたいです。
- 現在の実装ではエラーが発生しており、解決策がわかりません。C#の経験のある方、ご教示いただけると幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
普段VB.NETユーザーで、未検証の勘です。 string val = ( (string[])ht["after"]) [0]; という計算順序として認識されているならいいんですが, string val = (string[]) (ht["after"] [0]); という計算順序として扱われると ht["after"] が Object、 それに大して0番目って何よ!? って言われるんじゃないかと。 #ところで,Genericsの型として配列って渡せるのかなー http://unboxedsolutions.com/sean/archive/2005/07/06/671.aspx
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
回答No.2
#1だ。 参考資料(C/C++だけど) http://www5f.biglobe.ne.jp/~fuku-labo/library/program/3-008-1.htm 「配列添字参照」の方が「型キャスト」よりも優先順位が高い
質問者
お礼
himajin10000様 このような優先順位があるとは知りませんでした。是非参考にさせていただきます。 この度はありがとうございました。
お礼
himajin100000様 回答ありがとうございます。ご指摘いただきました通り演算子優先順位の誤りで、例として挙げていただきました記述にてビルドしましたところ、正常にハッシュテーブルの値の配列を参照することができました。 string val = ((string[])ht["after"])[0]; 初歩的な内容についてわかりやすくご指摘いただき、本当にありがとうございました。