配列の情報出力方法(String.Formatの使い方)

配列の情報をString.Formatを使用して出力する方法について理解が出来ず質問させて頂きました。
やり方はわかりましたが、丸暗記で自分なりに言語化できておらず、今後が不安です。

【やりたい事】
配列の情報をString.Formatを使用して出力するシナリオを作成したい。

具体例を挙げて言うと、以下のように変数を作成します。
変数名 :都市_重量
変数の型 :Dictionary<String,Double>
規定値 :New Dictionary(of String,Double)from{{“東京”,1.1}{“大阪”,1.5}}

入力ダイアログを使用して
入力の種類:複数選択
オプション:都市_重量.Keys.ToArray
入力した値:(新しい変数として)選択都市
→東京を選択してOKを押す。

メッセージボックス
String.Format(“{0}は{1:0.##}です” , 選択都市 , 都市_重量(選択都市))
→(結果)東京は1.1です。

【分からないこと(以下の太字部分)】
「東京は1.1です」と表示するために使用した式
String.Format(“{0}は{1:0.##}です” , 選択都市 , 都市_重量(選択都市))
{1}には都市_重量(選択都市)で取得した情報の重量が表示されますがなぜでしょうか?

上記の式では「その情報のキーです」とか「その情報のValueです」のように具体的な指示もしていないのに都市名ではなくちゃんと重量がでます。(元々「都市_重量.Value」と書いてエラーになりました。)完全に推測ですが{1:0.##}としたことで、勝手にDoubleの情報を引っ張ってきてくれたのでしょうか?

あいまいな質問で申し訳ございませんが、フォローいただけると助かります。
宜しくお願い致します。

こんにちは

通常の配列ではなくDictionaryですね。(連想配列の一種)

都市_重量(選択都市) としてDictionaryから選択都市をキーとして、値を取得していますので、動作としては仕様通りかと思います。

これは 都市_重量.Item(選択都市) と同じ記述になります。

Yoichiさん いつも有難うございます。

上記文言、大変助かります。「.Item」をつけて良いなら理解できます!!
私はまだまだ初心者なので、省略は使用せず記述したいと思います!

learn.microsoft.comも可能な限り読みました。

確かにプロパティーに
[Item[TKey]]: 指定されたキーに関連付けられている値を取得または設定します。

と書いてありますね。このページをちゃんと読めるようになれたらもっとシナリオ作成力も上がりそうですね(でも時間は掛かります。。。)

一人ではまだ無理なのは理解しております。今後とも何卒宜しくお願い致します。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.