1

C# で読み取るテキスト ファイル形式を設計しています。タイプを格納する必要があります: int、double、および string を 1 行に格納します。ファイルを手動で開いて読み取ることができるように、.CSV 形式を使用する予定です。特定のレコードには、たとえば 8 つの既知の型があり、(string, int, double) または (string, int, double, double) の可変数の「インジケーター」の組み合わせがあり、一部の行には「インジケーター」が含まれていない場合があります。したがって、各レコードは可変長である場合があります。

VB6では、データを入力し、データを分割してバリアント配列に入れ、配列内のその行の要素数を決定し、***VarType関数を使用して、最終的な「指標」変数が文字列かどうかを判断します、int、または double を指定し、それに応じてフィールドを解析します。

テキスト ファイルを設計するためのより良い方法があり、それが最善の解決策である可能性があります。もしそうなら、私はアイデアを聞くことに興味があります。検索しましたが、混合型のテキストの可変長行をC#に読み込むことについて具体的に話している質問は見つかりませんでした。

より良い形式がすぐに出ない場合、上記の 2 つの段落で説明したように C# 内で VB6 VarType 関数を複製する方法はありますか? テキストファイルの読み込みと行分割はC#で簡単に扱えます。

4

2 に答える 2

1

まず、Xml または JSON を使用するという Keith の提案に同意します。ここで車輪を再発明しています。このページには、オブジェクトをファイルにシリアル化する方法の紹介例と、詳細情報へのリンクがあります。

ただし、独自のファイル形式とカスタムのシリアライゼーション/デシリアライゼーションに固執する必要がある場合は、Convertクラスと、int や double などの固有値型に依存するさまざまなTryParseメソッドを参照してください。

于 2013-04-04T21:40:01.797 に答える