C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■103075 / 4階層)  構造体のループ処理
□投稿者/ 魔界の仮面弁士 (3766回)-(2024/04/18(Thu) 12:05:22)
2024/04/18(Thu) 12:49:02 編集(投稿者)

No103073 (dai さん) に返信
> 既存のobjTest1〜3を、Private objTest As ST_TEST() = New ST_TEST(2) に突っ込めば実現できそうですね。

ST_TEST がクラスならばそれで良いですけれど、
ST_TEST が構造体である以上、メンバーの値を操作しても
書き換わるのは objTest 内のインスタンスだけで、
元の objTest1 〜 objTest3 の内容は変化しませんが、その点は大丈夫ですか?


実際には 40 個もあるらしいので、
「objTest 配列の中身を、objTest1〜40 に書き戻すメソッド」
を用意して、それを終了処理として呼び出すという手はありますが…
書き戻す処理を忘れてしまうと大変です。

objTest 配列を経由していない既存処理との連携で齟齬が生じてしまうので、
そうならないように、配列操作後には必ず書き戻し処理が必須という
制約が付いてまわることになります。書き戻し処理を呼び忘れても
コンパイル時には検出されないので、特に注意が必要ですね。


リファクタリングが許されるなら、既存の objTest1 への操作を撤廃し、
すべて objTest(1) への操作に書き換えた方が安全かも知れません。

※インデックスがズレると分かりにくいので、objTest(0) は未使用とする。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[3]: 構造体のループ処理 /dai →Re[5]: 構造体のループ処理 /dai
 
上記関連ツリー

構造体のループ処理 / dai (24/04/18(Thu) 10:40) #103070
Re[1]: 構造体のループ処理 / 魔界の仮面弁士 (24/04/18(Thu) 11:01) #103071
  └ Re[2]: 構造体のループ処理 / dai (24/04/18(Thu) 11:29) #103072
    ├ Re[3]: 構造体のループ処理 / 魔界の仮面弁士 (24/04/18(Thu) 11:59) #103074
    └ Re[3]: 構造体のループ処理 / dai (24/04/18(Thu) 11:54) #103073 解決済み
      └ 構造体のループ処理 / 魔界の仮面弁士 (24/04/18(Thu) 12:05) #103075 ←Now
        └ Re[5]: 構造体のループ処理 / dai (24/04/18(Thu) 13:19) #103076 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信