- - PR -
For Each で呼び出せるクラスを作りたいです
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-11-30 19:06
確かに悪くないですね。 ところで、列挙の順序を保障したい、となると話が変わってきますね。 私が示した方法だと順序が保障されないでしょう。(多分) 以前別スレッドでも言いましたが、「ハッシュテーブル」と「順序」は相容れません。 そう考えると、R・田中一郎さんが提示した方法はハッシュテーブルと順序をうまく共存させようとしてますね。 _________________ 囚人のジレンマな日々 | ||||||||||||||||
|
投稿日時: 2005-11-30 19:28
なんか「割と最近、似たようなスレッドがあったような…」と思っていたら、スレ主が同じ人だったんですね。 しかし何で「ArrayList2本」案は却下されたんだろう? 速度的にそれ程差が出るもんなんでしょうか…? | ||||||||||||||||
|
投稿日時: 2005-11-30 19:57
はい。一応、試してみたんですが、予想通り順番がバラバラになってしまったので、元に戻しました。
こうやって書ける事がわかったので、もう何も怖くありません。 囚人さん、本当にありがとうございました。
いつバレるかとヒヤヒヤしていました。 それと、ちょっと間が空いてしまったので、ずっと同じところで悩み続けていたと思われてしまうと、言い訳するのが大変だと思ったものですから黙っていました。
却下なんて偉そうなものではないんです。 ArrayList2本ってどういう意味だかよくわからなかったんです。 #なにやら会議室の動きが軽くなったんですが、皆さん帰っちゃったんでしょうか。 #今日は、いろいろとありがとうございました。お疲れ様でした。 | ||||||||||||||||
|
投稿日時: 2005-11-30 22:13
コレクションしたいだけでアクセスはFor EachかIndexのみで良い時はCollectionBase、 それに加えて任意のキーでアクセスしたい時は、DictionaryBaseを使っています。 何故、使っているのかといわれたら、コレクションするための基本的な機能が 既に盛り込まれているため後は、それぞれの型に特化したインタフェースを用意するだけで良いからです。 このあたりは、それぞれ、いろんな人によって好みがあると思いますので、 MSDN等で、それぞれの性質の差異を理解して、取捨選択されると良いと思います。 | ||||||||||||||||
|
投稿日時: 2005-12-01 06:24
だから、リファレンスを参照して、それぞれのクラスの特徴を確認した上で、使うんです。 SortedList クラス NameObjectCollectionBase クラス を実装 扱うのが文字列なら、NameValueCollection クラス 辺りでしょうか。 とりあえず、ブログでまとめました。→ http://blogs.wankuma.com/jitta/archive/2005/12/01/19755.aspx ___________________________________________________________________ □ written by Jitta on 2005/11/30 □ Microsoft MVP for Visual Developer ASP/ASP.NET Oct.2005-Sept.2006 _________________ | ||||||||||||||||
|
投稿日時: 2005-12-01 11:27
ありがとうございました。凄くよくわかりました。 僕も今後はその方向でいこうと思います。
そうですね。 一応読んでから質問しているんですが、今の時点では、まだあまり理解できないので、どうしても、こちらにお世話になってしまいます。
実は SortedList クラスは、昨日自力で発見して使うことを検討していたんですが、ややこしそうだったので自作の方針でいくことにしました。 今のところ、MSDNライブラリを読んでも日本語に見えない(本当に英語だったりもしませが)状態です。 それでも昨日 SortedList クラスが発見できて、ややこしそうだという判断ができたことは、僕自身かなり満足な成長ぶりだと思いました。
これを読んで思ったのですが、今後、MSDNライブラリは、Jittaさんに書いてもらうことにします。 ちなみに、問題の箇所ですが、問題なく動作しました。速度も問題ありません。 コードも非常にわかりやすくて、かなり満足しています。 本当に皆さんありがとうございました。 | ||||||||||||||||
|
投稿日時: 2005-12-01 12:44
結局どういう風に解決したんですか??
ずっと読んでたのですが、結末が抜け落ちた物語を読んだみたいな感じで気になります。 | ||||||||||||||||
|
投稿日時: 2005-12-01 14:54
arraylist,hashtableを内部に持って、IEnumerable インターフェースを実装しました。 参考になるかわかりませんが、サンプルコードを載せておきますね。
|