• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【C#】ハッシュテーブル(連想配列)の値が配列の場合について)

【C#】ハッシュテーブル(連想配列)の値が配列の場合について

このQ&Aのポイント
  • C#でハッシュテーブル(連想配列)を利用する際、値が配列の場合について質問があります。
  • 具体的には、ハッシュテーブルに配列を代入した後、配列の要素にアクセスする方法について知りたいです。
  • 現在の実装ではエラーが発生しており、解決策がわかりません。C#の経験のある方、ご教示いただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

普段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

rukuruku5
質問者

お礼

himajin100000様 回答ありがとうございます。ご指摘いただきました通り演算子優先順位の誤りで、例として挙げていただきました記述にてビルドしましたところ、正常にハッシュテーブルの値の配列を参照することができました。 string val = ((string[])ht["after"])[0]; 初歩的な内容についてわかりやすくご指摘いただき、本当にありがとうございました。

その他の回答 (1)

回答No.2

#1だ。 参考資料(C/C++だけど) http://www5f.biglobe.ne.jp/~fuku-labo/library/program/3-008-1.htm 「配列添字参照」の方が「型キャスト」よりも優先順位が高い

rukuruku5
質問者

お礼

himajin10000様 このような優先順位があるとは知りませんでした。是非参考にさせていただきます。 この度はありがとうございました。

関連するQ&A