リターン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 キロバイト)
作ってみた。。。
Yoichiさん
ありがとうございます。
呼び出し先のxaml内でチェックした結果(CD、MSG)を引数で呼び出し元に返し
その内容によって後続の処理をエラーにするか、続行させるかなどを判断します。
併せてリターンCD、MSGをメール送信します
こんにちは
ありがとうございます。
仮に配列やListを用いた際に、indexに処理上の意味があるならば、それで良いと思います。
indexに意味がなく、かつ例えばCDが重複なくユニークであるならDictionaryの方が良いかもしれません。
HANNACHIさん
ありがとうございます!
コレクションに追加でCDとMSGを一緒にセットするのですね。
でもやったことがないということは、この考え方は一般的じゃないんですね。
Yoichiさん
ありがとうございます。
indexに意味はありません。
CDはユニークですのでおっしゃるようにDictionaryがいいのかもしれませんね。
不勉強で申し訳ありません。REFrameworkのconfigファイルの読み込みでしかDictionaryを使用したことがなく。
差し支えなければサンプル頂けると嬉しいです
いや、配列ってのが意外と扱いにくいと思っているだけで。。。(^^♪
Yoichiさん
サンプルありがとうございます!
代入で追加できるんですね。
データの有無確認は、メソッドを呼び出し(キー、値どちらか片方指定)、コレクション内での有無(キー、値両方指定)ですればいいんですよね。
今回はDictionaryを使った方が良いように感じました
配列変数の勉強になりました。いつもありがとうございます!
HANACCHIさん
そうですね。でも、教えて頂いて理解が深まりました。
これから、使うことができるようになりました!
いつもありがとうございます
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.