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

嘿,您的代码看起来在位置一有一个 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 回答