将字符串转换为模型

时间:2010-10-12 04:37:01

标签: c# parsing dynamic binding

假设我有这个对象:

public struct Line
{
    public string Name { get; set; }
    public int Value { get; set; }
    public string Alias { get; set; }
}

我有一个带有以下语法的行的文件:

garbagedata|moregarbagedata|Name|garbagedata3|Value|garbagedatamaximums|Alias\n

请注意,moregarbagedata [x]可能存在也可能不存在。需要正则表达式来提取组值。

将此文件的行转换为Line个对象的集合的最简单,最有效的方法是什么?这个集合的顺序并不重要。

1 个答案:

答案 0 :(得分:0)

在我看来,这里需要提出几个问题。

  1. 您可以更改文件格式吗?
  2. 没有办法,您可以为键/值对指定单独的分隔符吗? {值:垃圾,别名:someotherGarbage},{值:secondGarbage ....}
  3. 线路(Environment.NewLine)是否是数据包分离的唯一方式?
  4. 如果1的答案为真, 然后你可以使用XmlSerializer并来回序列化和反序列化你的对象。

    如果2的答案为真, 然后你可以看看使用正则表达式手动解析文件或逐行阅读并只查找值:然后假设下一项是“值”的值

    如果3的答案为真, 可能与2的答案相同。

    我希望这会有所帮助。