0

次の形式の情報を含むテキスト ファイルがあります。

1 1.2323232 2.2356 4.232 1.23664  
2 1.344545  
3 6.2356 7.56455212   
etc....

C# でファイルを読み取り、配列に解析してから処理を行うにはどうすればよいですか?

4

2 に答える 2

1

ファイル ヘルパーを使用します。

たとえば。必要なのは、レコードの解析を次のように定義することだけです。

[DelimitedRecord("|")]
public class Orders
{
   public int OrderID;

   public string CustomerID;
   [FieldConverter(ConverterKind.Date, "ddMMyyyy")]   public DateTime OrderDate;

   public decimal Freight;
}

そして、次のようにファイルを読み込みます:

FileHelperEngine engine = new FileHelperEngine(typeof(Orders));

// to Read use:
Orders[] res = engine.ReadFile("TestIn.txt") as Orders[];

// to Write use:
engine.WriteFile("TestOut.txt", res);

区切り文字を変更して" "、メンバー タイプを適切に更新することもできます。

于 2013-03-10T06:59:20.577 に答える
0

あなたのコードは、1 番目の位置に ID 値があるように見えます。というわけで、サンプルコードを作成しました。

private List<MyValues> Read(string fileName)
{
    var result = new List<MyValues>();
    var line = new string[] { };

    using (StreamReader sr = new StreamReader(fileName))
    {
        while (sr.Peek() > -1)
        {
            line = sr.ReadLine().Trim().Split(' ');

            var val = new MyValues();
            val.Id = Convert.ToInt32(line.ElementAt(0));

            for (int n = 1; n < line.Count(); n++)
            {
                val.Values.Add(Convert.ToDouble(line[n]));
            }

            result.Add(val);
        }
    }

    return result;
}

class MyValues
{
    public int Id = 0;
    public List<double> Values = new List<double>();
}
于 2013-03-10T07:20:45.490 に答える