0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 20
1

dll библиотека

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

Author24 — интернет-сервис помощи студентам
Здравствуйте, хотелось бы узнать, при создании dll библиотеки для массива, например одномерного, как именно прописывать этот массив.
для целых чисел мне понятно, например так
public static int Numb(int a)
{
return a;
}
а с массивом не получается(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2011, 20:31
Ответы с готовыми решениями:

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

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

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

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

10
194 / 193 / 17
Регистрация: 07.11.2010
Сообщений: 477
21.04.2011, 20:51 2
А так?
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  [ТС] 3
Цитата Сообщение от Leax Посмотреть сообщение
А так?
C#
1
2
3
4
public static int Numb(int[] a)
 {
 return a;
 }
Такие попытки тоже были, в этом случае идет ошибка на неявное преобразование int[] в int
0
2 / 2 / 1
Регистрация: 26.02.2011
Сообщений: 64
21.04.2011, 21:11 4
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  [ТС] 5
Цитата Сообщение от 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
2 / 2 / 1
Регистрация: 26.02.2011
Сообщений: 64
21.04.2011, 21:20 6
Да.
0
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 20
21.04.2011, 21:24  [ТС] 7
Цитата Сообщение от Exvel Посмотреть сообщение
Да.
Но тогда он выводит ошибку
Видимо проблемы с аргументами Numb(), но ведь нельзя же прописывать массив в качестве аргумента этой переменной
0
2 / 2 / 1
Регистрация: 26.02.2011
Сообщений: 64
21.04.2011, 21:28 8
Это нужно.
Ты вызываешь функцию из своей библиотеки, которая требует аргумент в виде массива и возвращает этот же массив. Нельзя просто пропустить этот аргумент.

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  [ТС] 9
Цитата Сообщение от 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
2 / 2 / 1
Регистрация: 26.02.2011
Сообщений: 64
21.04.2011, 21:39 10
Ну, так все правильно. Метод ToString() для массива выдает тип данных содержащихся в нем.
Чтобы пройтись по элементам массива можно использовать оператор foreach.
0
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 20
21.04.2011, 21:51  [ТС] 11
Цитата Сообщение от Exvel Посмотреть сообщение
Ну, так все правильно. Метод ToString() для массива выдает тип данных содержащихся в нем.
Чтобы пройтись по элементам массива можно использовать оператор foreach.
Спасибо, теперь понятно, совсем foreach из памяти вылетел
0
21.04.2011, 21:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2011, 21:51
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru