Подход к дизайну для сравнения текста на c # - PullRequest
0 голосов
/ 24 марта 2011

У меня есть проект на C #, в котором мне нужно прочитать некоторые данные сетки (два столбца с переменным числом данных в форме строк) из некоторых текстовых файлов и выполнить некоторые математические сравнения между ними. Что, ребята, вы считаете лучшим подходом для представления этого с точки зрения структуры данных и дизайна?

Пример таблицы данных: LabelA: ValueA Метка B: Значение B

Я думал о том, чтобы прочитать все данные в базу данных sqlite и затем использовать запросы для сравнения строк с ними с помощью LINQ? Что вы думаете об этой идее против наличия всего лишь в структурах данных в памяти? Если есть другие идеи, пожалуйста, выкрикивайте их. Спасибо.

Ответы [ 2 ]

0 голосов
/ 24 марта 2011

Я бы не стал настаивать на этом, если только в будущем не будет абсолютно необходим доступ к этим данным, избегая повторной обработки всего.

Я бы никогда не использовал для этого только массив, я бы создал объект для инкапсуляции логики для всех этих сравнений.

Я бы просто начал так;

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; }
    }
}
0 голосов
/ 24 марта 2011

Если это только временно, я не вижу причин добавлять накладные расходы на базу данных. Просто сохраните это в памяти. Двумерный массив представляется наиболее очевидной структурой данных, если только у вас нет особых требований, которые не полностью удовлетворяют массиву.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...