基于c#文本比较的设计方法

时间:2011-03-24 05:23:39

标签: c# sqlite

我有一个C#项目,我需要从一些文本文件中读取一些网格数据(两列由可变数量的行形数据),并对它们进行一些数学比较。您认为在数据结构和设计方面代表这一点的最佳方法是什么?

示例数据表: LabelA:ValueA LabelB:ValueB

我正在考虑将所有数据读入sqlite数据库,然后使用查询使用LINQ对它们进行逐行比较?您如何看待这个想法与内存数据结构中的所有内容?如果还有其他想法,请大声说出来。感谢。

2 个答案:

答案 0 :(得分:0)

如果它只是临时的,我认为没有理由增加数据库的开销。只需将其存储在内存中。二维数组似乎是最明显的数据结构,除非您对数组没有完全满足的特定要求。

答案 1 :(得分:0)

我不会坚持下去,除非将来完全有必要访问这些数据,避免重新处理所有内容。

我永远不会只使用一个数组,我会构造一个对象,以封装所有这些比较的逻辑。

我只是这样开始;

public class ImportedFile
{
    private List<FileLine> lines;
    public List<FileLine> Lines
    {
        get { return new ReadOnlyCollection(lines); }
    }

    public void AddLine(FileLine fl)
    {
        this.lines.Add(fl);
    }

    public void RemoveLine(FileLine fl)
    {
        this.lines.Remove(fl);
    }

    //Instance methods for comparing lines within the same file
    //Static methods for comparing Files
}

public class FileLine
{
    private String labelA;
    public String LabelA
    {
      get { return labelA; }
      set { labelA = value; }
    }

    private String labelB;
    public String LabelB
    {
      get { return labelB; }
      set { labelB = value; }
    }
}