LoginSignup
1
1

More than 3 years have passed since last update.

Dictionaryの使い方 個人メモ

Last updated at Posted at 2020-12-04

はじめに

Dictionaryの使用方法についての個人的な備忘録用の為内容は随時更新・追加します。

Dictionary構造例

Arrayなどの配列はindex(連番の数字)で管理、Dictionaryはkeyに設定したデータで管理する。
image.png

Dictionary変数の設定

今回はdicAdressという会社の住所を格納するDictionary変数を設定してみます。
変数名を設定後に変数の型を選択しますがデフォルトでは表示されない為参照する必要があります。
1.変数の「型の参照…」を選択し参照画面を開く
image.png
2.型の名前で「System.Collections.Generic.Dictionary」を検索する
image.png
※因みにDictionaryだけで検索するといっぱい出てくるのでその場合下記画像の赤枠を選択
image.png
3.Keyとvalueのデータ型を選択する
今回はどちらもStringを選択しますが用途に合わせて設定してください。
image.png
4.規定値の設定
new Dictionary(of keyのデータ型,valueのデータ型)
を変数の規定値に入力する。
これを設定しないと実行時にエラーが起きるので忘れずに設定しましょう!
image.png
もしくはフロー内にAssignを設置し下記の様に記載する
 左辺値:Dictionary変数
 右辺値:new Dictionary(of キーのデータ型,値のデータ型)
image.png
これでdicAdressを使用する準備が出来たので次は値を格納してみましょう。

値の格納

良く使用する追加方法を記載します。
ワークフローにAssignを設置し下記を設定します。
左辺値:Dictionary変数(key)
右辺値:value
下記画像だと
Key:東京支店 value:東京都北区×××となる
image.png

登録したいデータは下記画像のような構成になっているが上記の方法だとだと1つしか設定できない・・・・・
image.png
↑のすべてを格納するにはどうするか。
1.住所シートから住所一覧表を読み込んでdtAdressに格納する
2.For Each Row内にDictionaryに追加する処理を入れる
 左辺値:dicAdress(row("支店名").ToString)
 右辺値:row("住所").ToString
image.png
これで住所シートの住所一覧がdicAdressに追加されました!
※Dictionaryに追加方法は他にもありますが今回は省略します。

追加したデータの確認

さてdicAdressに追加処理を行いましたが本当に追加されているのか確認したい!ということで格納したデータを参照したいと思います。

①一つだけ指定して取得する場合

Dictionary変数("Key")
というようにkeyを指定して取得したいデータを参照します。

(例)福岡支店の住所を取得したい!
1行に書き込みアクティビティに記載して実行してみました
Dictionary変数("福岡支店")と支店名をkeyに指定します。
image.png
【実行結果】
きちんと福岡支店の住所が出力されています!
image.png

②全件取得する場合

一つだけ指定して格納されているデータを参照することが出来ましたが今回は追加した全件を取得し確認したいと思います。
 1.ワークフローにForEachを設置します。
 2.プロパティ画面でTypeArgumentに「System.Collections.Generic.KeyValuePair」を検索しデータの型を設定します。
今回は両方Stringで設定しています(Dictionaryで設定した型と同じ)
image.png
3.ForEach内に1行に書き込みを設置し下記の様に記載
item.Key +"の住所は「" + item.Value + "」です。」
.Keyで設定したKeyが.ValueでKeyに紐づいたvalueが取得できます
image.png
4.実行してみましょう。
 全件指定した文章校正で出力されています。
image.png

削除

 後程追記予定

その他

後で設定情報をDictionaryに設定する共通部品についてここにUP予定

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1