- - PR -
【C#】単一テキストファイルから重複行削除
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-15 16:50
仮想テーブルを使わないほうの話ですが、
NGリストの処理は、Hashtableをうまく使えば キーの一覧なんて要らないと思いますよ? ソースコードを直接載っけるのはあまり好きじゃないんですが、 日本語で説明するとかえってめんどくさいので…
#自分とこVS2003なので、StreamReaderとStreamWriterのDisposeは呼べませんでした(^^; #プレビューしたら\が二重になっちゃったので修正(直してくれないかなこれ…) [ メッセージ編集済み 編集者: ぼのぼの 編集日時 2006-06-15 17:05 ] | ||||||||||||
|
投稿日時: 2006-06-15 18:16
なんでこんなに長引いているのか理解に苦しむね。
| ||||||||||||
|
投稿日時: 2006-06-15 19:32
個人的にはこの処理が実は1回こっきりの処理でした!とかじゃないことを祈るばかりで
す。文面を読む限りは大丈夫な気がしますが、念為。 まぁ後半は技術公開の場になってるみたいなので、それはそれで有意義な話になってる んじゃないでしょうか。 自分だったら Hashtable (相当)を使ってなんとかしようとしたでしょうけど、夏椰さんの OLEDB を使って SELECT DISTINCT 方式はなるほどと考えさせられました | ||||||||||||
|
投稿日時: 2006-06-15 20:15
あーごめん。回答者さまに言ったわけじゃないっす。
| ||||||||||||
|
投稿日時: 2006-06-16 10:27
夏椰様
ありがとうございます。試してみます! ぼのぼの様 SortedListを使わなくてもHushtable+ArrayListのソートでやりたい事が できるのですね。試してみます!! ぽぴ王子様 一回こっきりの処理ではないですw いろいろと使用しようと思っている処理なので、良い案があったら ご教授いただけないかと思い、こちらに投稿させていただきました。 実際、夏椰様のOLEを使用してのやり方はこういう使い方ができるなんて 知らなかったので、大変勉強になりました。 ぶさいくろう様 そうですね…。このレスを最後にしたいと思います。 あまり長々とするのはよろしくないようなので…。 皆様いろいろとご教授下さって有難うございました!! | ||||||||||||
|
投稿日時: 2006-06-16 12:03
技術公開の場というよりは、サンプルコードが載っている便利な場所です。 僕も使う機会があったらコピペして使うことにしますw(駄目すか?^^;)
同感ですね。 できることは知っていたのですが、使うという発想が沸きませんでした。 こういう柔軟な発想ができることは、とても大切だなと改めて感じました。
ぶさいくろうさんは、長々とするのが悪いと言っている訳じゃなくて、どうして長くなってしまったのだろうね?、と言っているのです。 これは一見似ていますが、大きな違いがあるのだと思いますた。 | ||||||||||||
|
投稿日時: 2006-06-16 12:07
有意義である限りは、長くなっても構わないと思います。 ちづるさんの「こっちの方法の方が速かった」という結果報告は、大変参考になってますので。 あと、Hushtableではなく、Hashtableです。大分意味が違いますので。 hash hush | ||||||||||||
|
投稿日時: 2006-06-17 06:24
たぶん、ハッシュ テーブルのキーとして、読み込んだ文字列をそのまま保管する必要はない。
HashTable.Item(object key) なんだから、key は文字列でなくてもいい。また、重複を避けるために使うんだから、文字列がそのまま保管されている必要もない。 ということで、ハッシュのキーに使うのは、string.GetHashCode() でどうでしょう? また、NG ワードを別のハッシュにする必要もないような?先に登録してしまえば、重複扱いになりますよね? |