![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Dino99rus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 10.1.2007 Репутация: 1 Всего: 2 |
Суть задачи передать из одного класса массив объектов в другой. Меня интересует тот вариант который я использую оптимален или нет. Если нет то, какие вариант более подходят под эту задачу. В переменная s2 принимает всего три значения, а s1 любое. Это сообщение отредактировал(а) Dino99rus - 14.2.2008, 00:19 |
|||
|
||||
| Ctrl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 12.2.2008 Где: Tula Репутация: нет Всего: 7 |
Доброго времени суток...
* "тот вариант который я использую оптимален или нет" - честно говоря, в твоем коде чего-то вразумительного для решения поставленной тобой задачи я так и не увидел. Я тут написал немного кода - посмотри его, там есть несколько приемов работы с коллекциями (создание,работа через ICollection, копирование, обход элементов с выполнением обработки). Очень надеюсь, что поможет. * "В переменная s2 принимает всего три значения, а s1 любое." - попробуй использовать enum для первого случая (см.пример) ...И на будущее,старайся писать нормальный читабельный код, не думай, что экономишь время называя переменные просто стуча пальцем по клаве... Ну и пример:
|
|||
|
||||
| Crimp |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 21.10.2007 Где: Tula Репутация: нет Всего: 2 |
Суть задачи передать из одного класса массив объектов в другой.
Если цель только в этом то не лучше ли заюзать ArrayList |
|||
|
||||
| Dino99rus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 10.1.2007 Репутация: 1 Всего: 2 |
Ну это пример.... Основной код да же с комментариями, но это не суть важно. Спасибо, посмотре, но не понял в чем разница. Если не труду объясни. |
|||
|
||||
| Ctrl |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 12.2.2008 Где: Tula Репутация: нет Всего: 7 |
Наверное я слишком усложнил смысл фразы "передать из одного класса массив объектов в другой".
и не стал думать просто про предачу ссылки на конкретную коллекцию или про копирование ArrayList-ов. Просто иногда за словом "массив" могут скрываться довольно нетривиальные наборы объектов (например, мне в последнее время часто приходится работать с коллекцией, которая на самом деле является иерархической структурой с двумя корнями), и вот тогда "оптимальность" измеряется именно удобством манипулирования содержимым этих наборов. Обеспечивается это удобство именно "заворачиванием" в какойто класс, скрывающий детали. Чем абстрактнее это заворачивание выглядит снаружи, тем лучше. Простейший пример заворачивания приведен в моем куске кода: Основные идеи, заложенные в пример с CollectionSource таковы: 1. нет завязки на структуру коллекций (имплементим свой метод CreateCollection и используем List<>, ArrayList, базу данных, что угодно)
2. удобно копировать содержимое между экземплярами CollectionSource
3. удобно обрабатывать содержимое
P.S. Извини за наезд насчет кода... резануло глаз просто P.S. ... еще про оптимальность - современные программные продукты во главу угла ставят не скорость исполнения кода , а архитектурную гибкость, простоту поддержки и кастомного модифицирования. Уважающие себя компании, предоставляющие исходные коды немало ценят структурированность и читабельность кода, его тестовое покрытие (комментариев кстати в хорошем коде фактически нет) |
||||||
|
|||||||
| Dino99rus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 10.1.2007 Репутация: 1 Всего: 2 |
Ctrl,
Большое спасибо. Ну я примерно такого ответа и ожидал |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |