none
Listの使い方 RRS feed

  • 質問

  • お世話になっております。

    List<>の使い方なのですが、Tを複数入れる方法はないでしょうか?

    2つ入れる為に

    List<KeyValuePair<int, string>> hoge;

    とできる事は分かったのですが、それ以上は出来ないのでしょうか?

    List<int,class,enum> hoge のように使いたいです。

    どうか宜しくお願いします。

    2013年10月25日 1:20

回答

  • それらを一つにまとめたクラスを作成して下さい。

    // Tupleというのも一応はありますが、C#で扱う上においてはややこしくなるだけでしょう。

    • 回答としてマーク コーベル 2013年10月28日 2:18
    2013年10月25日 1:37
  • おそらくそのようなListは用意されていないと思います。 Listはコレクションであり、その要素一つ一つはどんなオブジェクトでもかまいません。つまり、List<T>におけるTはどんなオブジェクトでも良いということです。ですから、List<任意のクラス>で大抵は事足りると思うのですが、どのようなことを実現されたいのでしょうか?


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク コーベル 2013年10月28日 2:19
    2013年10月25日 1:39
    モデレータ
  • 自作のクラスを用意してListに入れるのはどうでしょうか?

    int, class, enumを含むクラスを一個作って、それをListのTにすれば実現できると思います。


    • 回答としてマーク コーベル 2013年10月28日 2:19
    2013年10月25日 1:40
  • 私もHongliangさんと同じ考えです。
    ※int,class,enumの各要素を保持したクラスを定義

    ちなみに、
    List<KeyValuePair<int, string>> hoge;
    についてですが、用途はどんなものを考えていますか?

    何となくDictionaryのイメージが・・・
    ※Dictionary<int, string> hoge;

    • 回答としてマーク コーベル 2013年10月28日 2:19
    2013年10月25日 1:40

すべての返信

  • それらを一つにまとめたクラスを作成して下さい。

    // Tupleというのも一応はありますが、C#で扱う上においてはややこしくなるだけでしょう。

    • 回答としてマーク コーベル 2013年10月28日 2:18
    2013年10月25日 1:37
  • おそらくそのようなListは用意されていないと思います。 Listはコレクションであり、その要素一つ一つはどんなオブジェクトでもかまいません。つまり、List<T>におけるTはどんなオブジェクトでも良いということです。ですから、List<任意のクラス>で大抵は事足りると思うのですが、どのようなことを実現されたいのでしょうか?


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク コーベル 2013年10月28日 2:19
    2013年10月25日 1:39
    モデレータ
  • 自作のクラスを用意してListに入れるのはどうでしょうか?

    int, class, enumを含むクラスを一個作って、それをListのTにすれば実現できると思います。


    • 回答としてマーク コーベル 2013年10月28日 2:19
    2013年10月25日 1:40
  • 私もHongliangさんと同じ考えです。
    ※int,class,enumの各要素を保持したクラスを定義

    ちなみに、
    List<KeyValuePair<int, string>> hoge;
    についてですが、用途はどんなものを考えていますか?

    何となくDictionaryのイメージが・・・
    ※Dictionary<int, string> hoge;

    • 回答としてマーク コーベル 2013年10月28日 2:19
    2013年10月25日 1:40
  • 皆様、ご回答ありがとうございました!

    また、バタバタしておりまして返信が遅くなり大変申し訳なかったです。

    KeyValuePairについては、ComboBoxに使っており便利だったので
    その他にも上手く使えないかと思った次第です。

    現在Validationモジュールを作成しておりまして

    コントロール、チェックタイプ、レンジ

    といったものをAddしていき、Validateメソッドにより全てをチェックするといった
    ものですが、そうですね皆様の仰る通りClassで行うことにしました。

    本当に勉強になりました、ありがとうございました!!

    2013年10月28日 2:24