Я пишу приложение, которое буду использовать, чтобы не отставать от моего ежемесячного бюджета.Это будет приложение C # .NET 4.0 Winforms.
По сути, мой бюджет будет представлять собой матрицу данных, если вы посмотрите на это визуально.Столбцы представляют собой «даты», на которые будет расходоваться эта статья бюджета.Например, у меня есть 1 столбец на каждую пятницу месяца.Ось Y - это название статьи бюджета (оплата автомобиля, оплата дома, питание вне дома и т. Д.).Есть также категории, которые используются для группировки названий статей бюджета, которые похожи.Например, категория «Жилье» будет иметь статьи бюджета «Ипотека», «Аренда», «Электричество», «Страхование жилья» и т. Д.
Мне нужен хороший способ хранения этих данных с точки зрения разработки кода.В основном я думал о двух подходах:
Один, у меня может быть класс «BudgetItem», который имеет «Category», «Value» и «Date».У меня был бы линейный список этих элементов, и каждый раз, когда я хотел найти значение либо по дате, либо по категории, я повторял этот список в той или иной форме или способом, чтобы найти значение.Я мог бы, вероятно, использовать LINQ для этого.
Во-вторых, я мог бы использовать 2D-массив, который индексируется сначала по столбцу (дата), а затем по строке.Мне нужно было бы хранить категории и названия статей бюджета в отдельном списке и объединять данные, когда я каким-либо образом выполняю поиск.
Каков наилучший способ сохранить эти данные в коде?Я больше склоняюсь к первому решению, но я хотел посмотреть, что вы, ребята, думаете.Позже, когда я реализую свою сохраняемость данных, я хочу сохранить эти данные на сервере SQL ИЛИ в файл XML (один файл на ежемесячный бюджет).