![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 06.09.2009
Сообщений: 9
|
![]()
как в С шарпе передать в метод ссылку на массив неопределенного размера??
|
![]() |
![]() |
![]() |
#2 |
Я
Форумчанин
Регистрация: 24.04.2010
Сообщений: 693
|
![]()
Например так
Код:
Код:
Код:
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 06.09.2009
Сообщений: 9
|
![]()
ну это ты написал мне заголовки, возьмем третий.
если так: int[] a; metod(a); то ошибка:Use of unassigned local variable 'а' а если так: int[] a; metod(&a); то C:\Documents and Settings\Max\Мои документы\Visual Studio 2005\Projects\ClassDB\ClassDB\Progr am.cs(21,25): error CS0208: Cannot take the address of, get the size of, or declare a pointer to a managed type ('ClassDB.int[]') C:\Documents and Settings\Max\Мои документы\Visual Studio 2005\Projects\ClassDB\ClassDB\Progr am.cs(21,13): error CS1502: The best overloaded method match for 'ClassDB.BD.get_Name(ClassDB.int[])' has some invalid arguments C:\Documents and Settings\Max\Мои документы\Visual Studio 2005\Projects\ClassDB\ClassDB\Progr am.cs(21,25): error CS1503: Argument '1': cannot convert from 'ClassDB.int[]*' to 'ClassDB.int[]' А если задать размер массива, то все работает... Последний раз редактировалось Sempe4; 16.06.2010 в 16:34. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
![]()
А чтобы метод отредактировал массив и массив изменился, то так (используем ключевое слово ref):
Код:
777 А если просто передать надо, но не менять оригинальный массив, то так: Код:
999 Где-то так, не в студии писал Последний раз редактировалось Casper-SC; 16.06.2010 в 16:40. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 06.09.2009
Сообщений: 9
|
![]()
To Casper-SC
так работает, но если изначально я не знаю размер массива, и он должен быть определен в этом методе, то как это организовать? |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
![]()
Попробуй так, только отпиши работает?
В случае с out массив должен быть обязательно проинициализирован в методе Код:
Последний раз редактировалось Casper-SC; 16.06.2010 в 17:00. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 06.09.2009
Сообщений: 9
|
![]()
да, работает, спасибо!)))
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача двумерного динамического массива в метод | Дырдин | Общие вопросы C/C++ | 1 | 19.03.2010 09:45 |
передача информации. метод post | NSvirus | PHP | 2 | 27.10.2009 13:57 |
Передача массива в функцию | D[I]K | Общие вопросы C/C++ | 4 | 13.09.2009 21:31 |
Передача массива по указателю | liver1981 | Общие вопросы C/C++ | 3 | 21.04.2009 17:07 |
Передача метода класса в качестве параметра в другой метод | Dmytry87 | Общие вопросы C/C++ | 0 | 12.11.2008 15:28 |