• ベストアンサー

VB.netでのPerlのような配列操作

VB.net 2003 を使用してカンマ区切りのテキストファイルから データを読み込み、ソートや検索や絞込みをしたいと思っています。 Perlで記述する場合、SortやGrepでかなり自由な配列操作ができましたが、VB.netではGrepにあたるものが見当たりません。 データは1件ごとに暗号化したいので、XMLを使うのは現実的ではないのかなと考えます。 CSVを読み込み、インデックス的な配列を作成し ソート結果などに応じてテキストファイルから必要なデータを読む という事を行ないたいのですが、何かよい方法はありませんか? そもそも配列を使うこと自体ナンセンスなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • herencia
  • ベストアンサー率56% (120/211)
回答No.3

>PerlのGrepは配列から、条件にマッチしたデータを抜き出すものです。 >抽出を考えると、Datasetを使うのが良さそうですが、データベースを用意する必要があるのでしょうか? Datasetは既存のデータベースと接続させることもできますが、プログラム上で一時的にテーブルを作成してそこにデータを格納していくことができます。 ・データセットにテーブルを作成(DataSet.Tables.Add) ・作成したテーブルにデータ(DataRow)を登録(DataTable.Rows.Add) ・テーブルから条件を指定して抽出(DataTable.Select)  ※もしくはデータビューを作成して抽出(DataView) DataSet の作成および使用 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconCreatingUsingDataSets.asp DataTable の作成と使用 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconCreatingDataTables.asp DataTable.Select http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemdatadatatableclassselecttopic.asp DataView の作成と使用 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconcreatingusingdataviews.asp

noppi_99
質問者

お礼

なるほど。 データセットでメモリ上にテーブルが保持できるのですね。 これにSQL文が発行できれば!と思いましたが データベースじゃないですからねぇ。。。 でもこの辺りに答えがありそうな感じなので もう少し調べてみます。 早速のフォローありがとうございます。

その他の回答 (2)

  • herencia
  • ベストアンサー率56% (120/211)
回答No.2

配列のソートは下記が参考になるかと思います。 http://ja.gotdotnet.com/quickstart/howto/doc/sort.aspx コレクションも便利です。 http://ja.gotdotnet.com/quickstart/howto/doc/queue.aspx http://ja.gotdotnet.com/quickstart/howto/doc/icollection.aspx PerlのGrepがどのようなものかわからないのですが、高度な検索を行うのであれば、配列ではなくDatasetを使うと便利です。下記が参考になるかと思います。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1848481 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1569948

noppi_99
質問者

お礼

ソートについては分かりましたが、抽出が難しいのかな?と思いました。 PerlのGrepは配列から、条件にマッチしたデータを抜き出すものです。 抽出を考えると、Datasetを使うのが良さそうですが、データベースを用意する必要があるのでしょうか? もう少し調べてみたいと思います。 ありがとうございました。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

Perlの様な配列操作とはいかないかもしれませんが ArrayListのような不定長の配列を使うといいんじゃないでしょうか

noppi_99
質問者

お礼

なるほど。 ArrayListでインスタンスのリストを扱えるのですね。 さらにソート方法もクラスに持たせることが出来る。 参考になりました。 ありがとうございます。

関連するQ&A