| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Ссылка на размерный тип? |
| Автор: Elfet 25.6.2007, 17:26 | ||
| У меня есть класс, который хранит массив векторов (1). У класса есть функция которая должна возвращать массив других классов (2), которые должны состоять их трех векторов массива (1) На C++ я бы просто сделал поля другого класса ссылками и ссылался на нужные мне вектора массива (1) А как такое в C# реализовать? Вектора же у нас только размерные, а не ссылочные. Надеюсь понятно описал. Заранее спасибо PS У меня есть массив вектором: Vector[] - это ссылоный тип (?) а мне нужно что бы это был значимый чтобы передать его в функцию:
Как делать? |
| Автор: stab 25.6.2007, 17:43 |
| в общем, ничего не ясно Добавлено через 1 минуту и 6 секунд .. приведи код на C++, может так проще будет. Добавлено через 6 минут и 21 секунду ааа, вспомнил, у тебя Vector это структура. тебе зачем требуется передавать ссылки на него, а не сами значения? |
| Автор: Elfet 25.6.2007, 17:52 | ||
| Не, вектор у меня размерный - я его сам написал Короче что делать если я хочу ссылаться на размерный тип?
|
| Автор: stab 25.6.2007, 17:58 |
| либо описать Vector как класс, тогда все проблемы сразу отпадут, либо исппоьзовать unsafe код и работать с указателями. тебе всё таки почему надо именно ссылки? чтобы хранилась ссылка на актуальные данные, а не их копия? или чтобы ускорить работу, не делая лишнее копирование? |
| Автор: Kvazilol 25.6.2007, 18:29 | ||||||
по умолчанию в C# значимые типы передаются по значению, а тебе надо передать в функцию ссылочку на вектор. значит нужно написать перед вектором ref
Добавлено через 1 минуту и 54 секунды
ну конечно |
| Автор: Elfet 25.6.2007, 18:31 |
| Ну например если без ссылок делать то изменяя массив этих вектором с помощью одного метода из их класса, то придеться пересоздавать те другие классы. |
| Автор: stab 25.6.2007, 18:39 |
| Elfet, либо как-то измени логику работы, либо переконвертируй Vector в класс. указатели - зло, придётся держать массивы в pinned состоянии, что очень плохо. |
| Автор: Elfet 25.6.2007, 19:02 |
| Будем логику улучшать |