二次元配列の変数の型

リターンCD、メッセージ(数は可変でString型)を変数に格納して引数で渡したいと考えています。
二次元配列を使用したいのですが、変数の型は何を指定すれば良いでしょうか
以下のようなイメージです。
ReturnTxt(0) = (ReturnCD,ReturnMSG)

list型で、どんどん追記していくのはどうでしょう?

最初の追記は、ダミーを入れておいて、ロボットの最後に、最初のlist(0)に最後のエラーコードを格納すれば、お望みの返り値のようになると思います

HANACCHIさん
ありがとうございます。
List型だとList:System.Collections.Generic.List<System.String>でしょうか?
これだと下のように、CDとMSGは別の変数になりますか?
ReturnCD(0)={“ReturnCD1”} ReturnMSG(0)={“ReturnMSG1”}
ReturnCD(1)={“ReturnCD2”} ReturnMSG(1)={“ReturnMSG2”}

一般的にどんな風にするものなのでしょうか?
表記方法が合っているかわかりませんが…こんな感じを想定しています。
ReturnTxt(0)={“ReturnCD1”,“ReturnMSG1”}
ReturnTxt(1)={“ReturnCD2”,“ReturnMSG2”}
ReturnTxt(2)={“ReturnCD3”,“ReturnMSG3”}

System.Collections.Generic.List<System.String>ですね。

List変数={“ReturnCD1”,“ReturnMSG1”,“ReturnMSG2”}
こんなイメージです。

List型はコレクション追記するのに適しているので、メッセージを追記でき、最終的なメッセージCDを(0)に格納すれば、お望みの型とは違いますが、
List(0) ← メッセージCD
List(1)~ ←Countまでがメッセージ
として扱えるのではと考えました

HANACCHIさん
CD一つに対しMSGが複数という事でしょうか。
CDとMSGは1対1の関係を想定しているので、List<System.String>ならCDとMSGを別の変数にした方が良さそうですね

こんにちは

要件によってはDictionaryが適しているようにも思えますが、
これらのデータは後工程でどのように使用される予定でしょうか?

あ!誤解していました。

でしたら、List<System.String>ではなく、List<System.String>と配列で確保して、コレクションの追加の時に配列値{“CD”,“MSG”}を渡してあげる。。。

やったことないなぁ(^^♪

二次元配列の変数の型.zip (10.5 キロバイト)

作ってみた。。。

1 Like

Yoichiさん
ありがとうございます。
呼び出し先のxaml内でチェックした結果(CD、MSG)を引数で呼び出し元に返し
その内容によって後続の処理をエラーにするか、続行させるかなどを判断します。
併せてリターンCD、MSGをメール送信します

こんにちは
ありがとうございます。
仮に配列やListを用いた際に、indexに処理上の意味があるならば、それで良いと思います。
indexに意味がなく、かつ例えばCDが重複なくユニークであるならDictionaryの方が良いかもしれません。

1 Like

HANNACHIさん
ありがとうございます!
コレクションに追加でCDとMSGを一緒にセットするのですね。
でもやったことがないということは、この考え方は一般的じゃないんですね。

Yoichiさん
ありがとうございます。
indexに意味はありません。
CDはユニークですのでおっしゃるようにDictionaryがいいのかもしれませんね。
不勉強で申し訳ありません。REFrameworkのconfigファイルの読み込みでしかDictionaryを使用したことがなく。
差し支えなければサンプル頂けると嬉しいです

いや、配列ってのが意外と扱いにくいと思っているだけで。。。(^^♪

こんにちは

以下参考レベルのサンプルです。

Main.xaml (7.4 KB)

1 Like

Yoichiさん
サンプルありがとうございます!
代入で追加できるんですね。
データの有無確認は、メソッドを呼び出し(キー、値どちらか片方指定)、コレクション内での有無(キー、値両方指定)ですればいいんですよね。
今回はDictionaryを使った方が良いように感じました
配列変数の勉強になりました。いつもありがとうございます!

1 Like

HANACCHIさん
そうですね。でも、教えて頂いて理解が深まりました。
これから、使うことができるようになりました!
いつもありがとうございます

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