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

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

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

Re[3]: 複数の型の変数の一括処理


(過去ログ 37 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■19165 / inTopicNo.1)  複数の型の変数の一括処理
  
□投稿者/ tanaka (78回)-(2008/05/20(Tue) 17:14:48)

分類:[C#] 

複数の変数にデータを一括でセットしたり取得したりさせる場合
型が同じであればインデクサを使用すればいいと思うのですが、
それぞれの型が違う場合はどうすればいいでしょうか。

【現状取得の場合例】
class x
{
    int    a;
    char   b;
    byte   c;
    string d;
     :
     :
}
class y
{
    void test()
    {
        while(true)
        {
            object[] value = {x.a,x.b,x.c,x.d};
            for(int i = 0; i < value.Length; i++)
            {
                // 処理
            }
        }
    }
}

引用返信 編集キー/
■19166 / inTopicNo.2)  Re[1]: 複数の型の変数の一括処理
□投稿者/ ネタ好き (309回)-(2008/05/20(Tue) 17:20:45)
No19165 (tanaka さん) に返信
状況が良く分からないのですが、個々のデータをプロパティで設定するのは駄目なのでしょうか?
型が違う値を一括で設定するのは危険な気がします。
引用返信 編集キー/
■19168 / inTopicNo.3)  Re[2]: 複数の型の変数の一括処理
□投稿者/ tanaka (80回)-(2008/05/20(Tue) 17:31:46)
No19166 (ネタ好き さん) に返信
> ■No19165 (tanaka さん) に返信
> 状況が良く分からないのですが、個々のデータをプロパティで設定するのは駄目なのでしょうか?
例を元にお話しすると
class xでは個々にプロパティでset・getでやらせてます。
class yではobject[] value のところの初期値セットで個々のプロパティを取得させています。

> 型が違う値を一括で設定するのは危険な気がします。
class xがパラメータ相当でパラメータ更新画面で特定の処理時に全てのパラメータを更新させたいと考えてます。
パラメータ数は30弱なので個別にセットしてもいいのですが。

引用返信 編集キー/
■19169 / inTopicNo.4)  Re[1]: 複数の型の変数の一括処理
□投稿者/ Algol (10回)-(2008/05/20(Tue) 17:32:17)
No19165 (tanaka さん) に返信

私もネタ好きさんと同じく状況が分からないので推測ですが…

クラスを作成するときの初期化をしたいのなら、コンストラクタに複数の引数を使って初期化すれば良いと思います。

使っている途中で変更したいのであれば、プロパティで設定すればいいのではないかなと。

任意のクラスで同じようにプロパティを変更したいのであれば、インターフェイスを定義して各々に継承すると簡単になります。
引用返信 編集キー/
■19170 / inTopicNo.5)  Re[3]: 複数の型の変数の一括処理
□投稿者/ Algol (11回)-(2008/05/20(Tue) 17:37:20)
2008/05/20(Tue) 17:38:26 編集(投稿者)

No19168 (tanaka さん) に返信
> ■No19166 (ネタ好き さん) に返信
>>■No19165 (tanaka さん) に返信
>>状況が良く分からないのですが、個々のデータをプロパティで設定するのは駄目なのでしょうか?
> 例を元にお話しすると
> class xでは個々にプロパティでset・getでやらせてます。
> class yではobject[] value のところの初期値セットで個々のプロパティを取得させています。
>
>>型が違う値を一括で設定するのは危険な気がします。
> class xがパラメータ相当でパラメータ更新画面で特定の処理時に全てのパラメータを更新させたいと考えてます。
> パラメータ数は30弱なので個別にセットしてもいいのですが。
>

あ〜…
だったら、オブジェクト配列ではなく、struct使って最初に定義しておくと良いんじゃないかな?

#語句訂正…
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -