2011-11-13 22 views
1

私は現在simple text analysis program in C#を書いています。現在のところ、テキストから簡単な統計情報を取り出して印刷します。しかし、入力モードでサンプルテキストを入力して著者を指定し、その特定の著者のデータベースエントリに統計情報を書き込むまで、それを取得する必要があります。そして、別のモードでは、プログラムはテキストを取り込み、DBファイルから平均を引いてテキストの統計をサンプル統計と比較することによって、著者が正確に著者を識別できるかどうかを確認します。私が助けが必要なのは、テキスト統計からデータベースを作成する最良の方法を考え出すことです。私はこれに使うことができるライブラリがありますか?それとも、情報を保存するテキストファイルから簡単に読み書きするだけですか?私はこの問題の解決策を見つけるのに苦労しているので、すべてのアイデアを歓迎します。C#での簡単なデータベースプログラムの作成

おかげで、 PardonMyRhetoric

答えて

1

XmlSerializerを使用すると、データをファイルに簡単に永続化できます。あなたはちょうど数分でどのようにあなたを教えるGoogleで見つけることができる多くのチュートリアルがあります。しかし、そのほとんどは、プロパティにプロパティを追加してシリアル化の方法をカスタマイズする方法を示したいので、実際には必要ではないことを指摘します。それを読み出す機能で

void Save() 
{ 
    using (var sw = new StreamWriter("somefile.xml")) 
     (new XmlSerializer(typeof(MyClass))).Serialize(sw, this); 
} 

と、このような何か:限り、あなたのクラスを超える[シリアライズ]のタグを持っているとして、あなたが必要とするすべては、保存するには、このようなものである

MyClass Load() 
{ 
    XmlSerializer xSer = new XmlSerializer(typeof(MyClass)); 
    using (var sr = new StreamReader("somefile.xml")) 
     return (MyClass)xSer.Deserialize(sr); 
} 
+1

忘れてしまったこと:公共のプロパティをシリアル化します。だから、あなたが保存して読んでほしいものは、パブリック・ゲッターとパブリック・セッターと一緒にパブリック・プロパティにする必要があります。 –

+0

ありがとう、私に役立つかもしれない何かのように見えます。私はこの方法とLINQを調べて、この特定のプロジェクトでよりよく使用されていると感じるものを見ていきます。 – austinprete

+1

@PardonMyRhetoric:linq自体(別名linq2objects)は、データを永続化するのに役立つわけではなく、データに対するクエリを作成する方法を提供します。 linq2sqlを使用してデータベースに永続化することはできますが、データベースを必要とせずに単純なものにするという目標を克服しています。そのため、データを永続化する方法としてシリアライゼーションを提案してから、linq2sqlを使用してより簡単に作業できます。 –

1

は、私はあなたがデータベースをする必要があります。この段階ではないと思います。 .NETフレームワーク自体から適切なデータ構造を選択してください。辞書やリストを使うようにしてください。配列を使わないでください。書く方法はもっと簡単になります。 LINQを学ぼう。データベースへのクエリのようなものだが、通常のデータ構造に対するものだ。これを取得してプロジェクトが成長すると、データベースを追加しようとします。

+0

I私が持っている以上にLINQを調べなければなりません。私はそれをすることを決して考えなかった。このプロジェクトは、主にプログラミングを学ぶために主にやっていることですが、学校で必要な科学プロジェクトにも関連しているので、期限がありますので、 LINQでそれを行うことを選択します。 – austinprete

+1

Linqはそれほど複雑ではありません。私はそれを[ここ]から大部分学んだ(http://www.csharphelp.com/2010/01/linq-using-c-linq-operators/) – Anton

+0

ありがとうございました、それらの例は私を納得させましたLINQは私が探しているものです。私は明日か月曜日までに私のプログラムの作者識別機能の作業を開始するのに十分なことを学ぶことができると確信しています。再度、感謝します。 – austinprete

関連する問題