私も一つのc墯ini操作種類を共有します。

4328 ワード

ちょうど1篇@雲菲の正則に基づくINI補助類の文章を見ました。また、コメントには、http://www.cnblogs.com/yunfeifei/p/4081977.htmlと、iniに基づくいくつかの便利なパッケージクラスであるアドレスがあることも見られた。後者は明らかに前者の場合より汎用性が強いです。前者は簡単で使いやすいです。でも全体的にはいいです。浅学ですから、スプレーしないでください。
     後ろで考えてみましたが、自分も何かini補助類がありますか?このようにして次のようになります。このini類には以下のいくつかの利点があります。
1.アクセス速度を速める。
    私は確かに車輪を作り直すのが好きな人です。暇が多いからです。このようなプログラミングの方面のインフラについて、やはりある程度重んじます。コードを打てば省けます。多くの人がiniの操作は簡単すぎると言うかもしれません。車輪を作り直す必要はありません。他の人が書いているのは必ずしも性能がいいとは限りません。マイクロソフトが提供するwin 32 apiの「WritePrivate ProfileString」という関数は、とても便利に見えますが、実は鶏の脇腹です。
Get Private ProfileStringは一度読み込んでディスクにアクセスするので、多くのキーを読み込むと、その効率は全く直視できません。
   System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();

            string path = @"D:\Users\Administrator\Documents\SenderRobot\SenderRobot.ini";

            stopwatch.Start();

            for (int i = 0; i < 10000; i++)

            {

                List<IniStruct> iniStructs = Ini.ReadValues(path);//              

            }

            string a = stopwatch.Elapsed.ToString();//INI          

            stopwatch.Reset();

            stopwatch.Start();

            for (int i = 0; i < 10000; i++)

            {

                Util.ReadIniValue("    ", "sss", path);

            }

            stopwatch.Stop();

            string b = stopwatch.Elapsed.ToString();//            
   自分で修正して効率を比較してみてください。一度読んだら、すべてのキーを全部取り出してメモリに入れます。マイクロソフトは何度も読み取ってこそこの効果が得られるということですから、効率は推して知るべしです。このように自分でプログラムがあれば、起動時にパラメータをたくさんロードすれば、ディスクを何年か生きている間は話さずに、読み込み速度も飛ぶような感じになります。  
    2.また、iniに対するコメントの機能強化を追加しました。多くの人がiniの中で直接中国語をキーにします。そうすると、あなたのプログラムは自分のレベルを下げるのではなくて、パクリすぎます。英語のキーを使うのは、崇洋ではないですよ。このINI類は、大量に読み取れますし、コメントも一緒に読み取れますし、コードにiniファイルにコメントを書き込むこともできます。この機能はおそらくマイクロソフトのアプリではできないでしょう。
    3.iniの補助類は操作が簡単です。この類は誰にも敷居がない。いくつかの関数だけです。静的なstaticにアクセスできるものもあれば、実用化されてから操作できるものもあります。静的で使いやすいです。実用化されたアクセスは、頻繁に操作するのに便利です。
    後になって、私も更に多くの優位を言えませんでした。みんなが必要なものがあります。
    ローカルの小ロットデータの保存には主に以下のような方法があります。
1.ini
2.xml
3.ローカルデータベース
4.テキストをそのまま使うものは無視しましょう。あまりにも非主流です
5.最近流行っているプロトブ
 
まずiniを言います
iniは比較的古い記憶方式です。win 2000の時代にはもう流行っています。便利で早いです
xmlは後期の新人ショーで、比較的標準化されています。多くの場合、直接iniに取って代わることができます。しかし、小型のプログラムでは、iniが一番適しています。性能の面を除いて、xmlフォーマットが厳しすぎるのも原因の一つです。
ローカルデータベースは通常、大きなデータを保存するために使用されます。例えば、いつも使っているlistqlなどです。小さいプログラムならいいですよね。このsql文を書く時間があります。もう全部書きました。
protobufはGoogleがオープンソースコミュニティに貢献するファイル転送フォーマットで、主にインターネットを通じて情報を送受信するために使われます。protocolの高効率はxmlに比べて少なくとも100倍速いと言われています。protocolは直接バイナリで保存します。ルールも簡単です。だから、解析速度は必ずxmlより速くなります。
実は、ある大手会社が開発したコードフォーマットがあります。プロトブと似ています。unistructという官辺には外部のコードがありません。その製品から逆方向に知っているだけです。このフォーマットも非常にコンパクトです。伝達も手応えがあります。
    はい、多くは言いません。みんなにcxi類を伝えます。友達が助けてくれるように。
 別添資料:https://devlib.codeplex.com/SourceControl/latest#main/product/Codes/DevLib.Configuration/IniEntry.cs