Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 20

dll библиотека

21.04.2011, 20:31. Показов 1827. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, хотелось бы узнать, при создании dll библиотеки для массива, например одномерного, как именно прописывать этот массив.
для целых чисел мне понятно, например так
public static int Numb(int a)
{
return a;
}
а с массивом не получается(
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.04.2011, 20:31
Ответы с готовыми решениями:

Библиотека(dll)
Народ если что нибуть знает насчет библиотек как их добавлять как ими пользоваться и простейшие примеры... Добавлено через 8 минут И...

Не подключается dll библиотека
Здравствуйте, уважаемые форумчане! Пишу мультиязычную программу. Для каждого языка создаю отдельную dll, что-бы ее можно было кинуть в...

библиотека xNET.dll
Проблемы с этой библиотекой. Добавляю, а ее как будто нет. Делал по примеру с хабра. И еще не могу использовать переменную типа...

10
194 / 193 / 17
Регистрация: 07.11.2010
Сообщений: 477
21.04.2011, 20:51
А так?
C#
1
2
3
4
public static int Numb(int[] a)
 {
 return a;
 }
0
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 20
21.04.2011, 21:05  [ТС]
Цитата Сообщение от Leax Посмотреть сообщение
А так?
C#
1
2
3
4
public static int Numb(int[] a)
 {
 return a;
 }
Такие попытки тоже были, в этом случае идет ошибка на неявное преобразование int[] в int
0
 Аватар для Exvel
2 / 2 / 1
Регистрация: 26.02.2011
Сообщений: 64
21.04.2011, 21:11
C#
1
2
3
4
public static int[] Numb(int[] a)
{
    return a;
}
0
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 20
21.04.2011, 21:19  [ТС]
Цитата Сообщение от Exvel Посмотреть сообщение
C#
1
2
3
4
public static int[] Numb(int[] a)
{
    return a;
}
Ошибок не возникает, тогда если использовать этот метод, то в основной программе обращаться к dll, чтобы выводился массив так?
C#
1
2
3
            int[] r;
            r = ClassLibrary1.Class1.Numb();
            MessageBox.Show(r.ToString());
0
 Аватар для Exvel
2 / 2 / 1
Регистрация: 26.02.2011
Сообщений: 64
21.04.2011, 21:20
Да.
0
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 20
21.04.2011, 21:24  [ТС]
Цитата Сообщение от Exvel Посмотреть сообщение
Да.
Но тогда он выводит ошибку
Видимо проблемы с аргументами Numb(), но ведь нельзя же прописывать массив в качестве аргумента этой переменной
0
 Аватар для Exvel
2 / 2 / 1
Регистрация: 26.02.2011
Сообщений: 64
21.04.2011, 21:28
Это нужно.
Ты вызываешь функцию из своей библиотеки, которая требует аргумент в виде массива и возвращает этот же массив. Нельзя просто пропустить этот аргумент.

C#
1
2
3
int[] r1 = new int[50]; // создаем массив в 50 ячеек
int[] r2 = ClassLibrary1.Class1.Numb(r1); // передаем его аргументом в функцию Numb и полчаем на выходе его же
MessageBox.Show(r2.ToString());
0
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 20
21.04.2011, 21:37  [ТС]
Цитата Сообщение от Exvel Посмотреть сообщение
Это нужно.
Ты вызываешь функцию из своей библиотеки, которая требует аргумент в виде массива и возвращает этот же массив. Нельзя просто пропустить этот аргумент.

C#
1
2
3
int[] r1 = new int[50]; // создаем массив в 50 ячеек
int[] r2 = ClassLibrary1.Class1.Numb(r1); // передаем его аргументом в функцию Numb и полчаем на выходе его же
MessageBox.Show(r2.ToString());
Даже если так, то все равно выводит не массив, а System.Int32[], хотя я и задаю массив
C#
1
2
3
4
5
6
7
8
9
       int[] r1 = new int[10]; 
            Random p = new Random();
            for (int j = 0; j < 10; j++)
            {
                r1[j] = p.Next(-10, 10);
            }
            int[] r2 = ClassLibrary1.Class1.Numb(r1); 
 
            MessageBox.Show(r2.ToString());
0
 Аватар для Exvel
2 / 2 / 1
Регистрация: 26.02.2011
Сообщений: 64
21.04.2011, 21:39
Ну, так все правильно. Метод ToString() для массива выдает тип данных содержащихся в нем.
Чтобы пройтись по элементам массива можно использовать оператор foreach.
0
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 20
21.04.2011, 21:51  [ТС]
Цитата Сообщение от Exvel Посмотреть сообщение
Ну, так все правильно. Метод ToString() для массива выдает тип данных содержащихся в нем.
Чтобы пройтись по элементам массива можно использовать оператор foreach.
Спасибо, теперь понятно, совсем foreach из памяти вылетел
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.04.2011, 21:51
Помогаю со студенческими работами здесь

Dll библиотека дисконтаиотека
Очень нужна помощь, приобрели программный продукт к которому необходимо дописать dll, который бы стучался в нашу базу (у продукта отдельная...

Не подключается DLL библиотека (не распознается сборка)
Необходимо подключить длл в проект, но при подключении появляется ошибка: &quot;Please make sure that the file is accessible, and that...

Библиотека xNet.dll отправка простого Get запроса
Приветствую,дорогие форумчане! Собственно вопрос ориентирован на то,что кто-то возможно пользовался библиотекой xNet. Библиотека...

Не компилируется библиотека - в каталоге Debug нет dll-файлов
Кто-нибудь сталкивался с такой проблемой, создал я библиотеку, прописал там несколько классов, но папка Debug пустая, нет никаких файлов с...

Библиотека COMCRC.DLL для подсчета контрольной суммы
Библиотека COMCRC.DLL для подсчета контрольной суммы. Сопоставить CRCType = 1 одному из имен или CRCType = CRCTypes.CRC16Sum или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru