![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| MuForum |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 2 Всего: 4 |
Доброе время суток.
Работаю на "Microsoft Visual Studio 2008". Язык программирования C#. # Задача: Необходимо записывать данные в структуру/объект, с дальнейшей возможностью обращения к определённому элементу, добавление элемента по определённому индексу, удаление определённого элемента по индексу. - Для этой цели я решил выбрать '.XML'. # Структуру данных:
- Мне необходимо будет добавлять, удалять определённый индекс, например 3. - говорю сразу, XML начал изучать только-только, так что ногами не пинать =))) # Запись данных в .xml:
- Чувствую, что криво, но не могу понять, как сделать нормально. - А вот с добавление/удалением элемента по индексу вообще полная лажа... # Удаление:
P.S. -> В общем парни, прошу помочь, ибо сам пока не догоняю =( -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
||||||
|
|||||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: нет Всего: 36 |
Говоришь только начал изучать.. а сам XPath уже юзаешь.. :gigi:
Я так понимаю, что xml нужен для возможности сохранять состояние обьекта между запусками программы. Тогда удобнее будет работать с классами C# и далее воспользоваться предоставляемой фреймворком возможностью сериализации
и не нужно никакого гемора с add/remove childs Это сообщение отредактировал(а) Rififi - 11.3.2009, 19:22 |
|||
|
||||
| MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 2 Всего: 4 |
#2, Rififi - Не совсем, мне данные как раз сохранять не надо.
- Мне нужно просто удобный объект, где я смогу хранить данные во время работы программы, и для удобной передачи указателя на объект между классами. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: нет Всего: 36 |
MuForum,
если данные нужны на время работы, то тогда выбор xml странен. преимущества такого подхода неочевидны, а запарок много. |
|||
|
||||
| MuForum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 2 Всего: 4 |
Что тогда посоветуешь? - Я до этого работал с коллекциями, а именно больше всего нравилась List<>.
- Вот такого плана, но возникают проблемы при использовании, компилятор ругается, что нужно указывать на одну и туже структуру(с одного места). Собственно именно поэтому я и думал, может выбрать какуе-то системную. + Проблема ещё в том, что у меня при обработки разных данных, будет разное количество параметров. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
||||
|
|||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: нет Всего: 36 |
MuForum,
компилятор ругается, что нужно указывать на одну и туже структуру(с одного места). этой фразы не понял... |
|||
|
||||
| MuForum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 2 Всего: 4 |
Я пишу программу для обработки/редактирования множества файлов, с различным внутренним строением/структурой.
- Для каждого файла пишу отдельный класс, в котором находиться нужная информация для обработки, функция чтения и обработки данных и т.д. - Выше указанный мною пример использовать не удобно из-за того, что в моей программе одновременно может быть открыто несколько окон и соответственно обрабатываться несколько файлов. - А для передачи указателя на эту структуру, я должен указать путь к ней. - То есть, если в классах MyClass1 и MyClass2 располагаются идентичные структуры, но при вызове функции класса MyClass2 из MyClass1 указывая структуру из MyClass1, компилятор будет гураться...
- Надеюсь теперь я доступно выразился. - Именно по этой причине мне нужна какая-то такая структура, в которой я мог при необходимости наращивать массив значений, обращаться к определённому индексу, добавлять/удалять определённый элемент по индексу. (Ну и чтобы мог с легкость передавать указатель на эту структуру без такого гемороя) # Добавлено: Можно конечно сделать некую эмитацию.
- Но опять же, это не совсем то, чтобы хотелось... Это сообщение отредактировал(а) MuForum - 11.3.2009, 21:41 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
||||
|
|||||
| Magnetic |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 11.11.2006 Репутация: нет Всего: 1 |
Может подойдет использовать список List<object> или ArrayList и сохранять в него DataEditor.FMain.DataFileInfo и DataEditor.TFindSystem.DataFileInfo? --------------------
Dude, where's my car? |
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: нет Всего: 36 |
||||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 9 Всего: 49 |
MuForum,
То, что структуры в FMain и в TFindSystem называются DataFileInfo, еще не значит что это одинаковые стурктуры. С точки зрения .net это два разных типа данных, как для тебя Лекарства.Свечи и Освещение.Свечи, с полями Длина и Толщина. Вынеси объявление в DataFileInfo из классов в отдельный файл - и оба класса придут к согласию. Rififi, 0_o а без паттернов никак? |
|||
|
||||
| MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 2 Всего: 4 |
Так и получилось. Вынес в отдельное место свой класс< затем инициализируй. Думал сначала делать abstract, чтобы можно было наследовать и вносить изменения, а затем посмотрел и увидел, что мне то вносить изменения и не надо, только инициализировать. P.S. -> Парни, не могли бы вы пожалуйста подсказать макулатуру с доступными(по возможности в сопровождение с кодом) объяснением классов/интерфейсов. - С классами вроде более-немение дружу, а вот с интерфейсам полный аут =( -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |