С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
10 / 10 / 3
Регистрация: 28.08.2012
Сообщений: 57
1

Записать out object в массив в маткаде

28.08.2012, 14:40. Показов 1038. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
private void button1_Click(object sender, EventArgs e)
        {
            Object DataType;
            Object Data;
        if (автокад.ActiveDocument.PickfirstSelectionSet.Count == 0)
            {
            AcadModelSpace поле; 
            поле = автокад.ActiveDocument.ModelSpace;
            foreach (AcadObject объект in поле)
            {
                объект.GetXData("Ла-ла-ла", out DataType, out Data);
                 if (DataType != null && Data != null)
                {
                     if (Data[1] == "Ту-ту-ту")
                    {
                    }
                 }
            }
            }
        else
            {
            
            }
        }
Проблема в том что в
C#
1
объект.GetXData("Ла-ла-ла", out DataType, out Data);
переменный выдаются как out Object, по факту после получения выходит 2 одномерных массива, DataType - short, Data - object на 32 элемента каждый.
И вот в этой строчке
C#
1
 if (Data[1] == "Ту-ту-ту")
проблема. Студия пишет "Невозможно применить индексирование через [] к выражению типа "object""
Мне надо проверить написанное условие (чтобы второй элемент второго массива содержал нужную строку).
0
Programming
Эксперт
9485 / 562 / 19
Регистрация: 12.04.2006
Сообщений: 11,671
Блог
28.08.2012, 14:40
Ответы с готовыми решениями:

как записать массив в маткаде?
как записать массив в маткаде?

Сортировать массив Object, записать в Filestream
1) Есть заполнен массив Object вивести его в консоль(студент - год рожения - пол - сколько лет)....

Как в маткаде записать систему 2-х неоднородных ду
y'+5y-7x'-5=0 x''+2x'+3x-9y-10=0

Как в маткаде записать тангенс в кубе?
Добрый день! Пытаюсь решить задачу, но выдает ошибку когда пытаюсь написать тангенс в кубе. Как...

3
Master of Orion
Эксперт .NET
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
28.08.2012, 15:19 2
мб
C#
1
if ((Data as Object[])[1] == "Ту-ту-ту")
хотя после такого кода
C#
1
foreach (AcadObject объект in поле)
я боюсь что-то говорить
0
192 / 147 / 27
Регистрация: 02.05.2011
Сообщений: 467
28.08.2012, 15:24 3
Невозможно привести объект типа Object к объекту типа Object[], скорее всего на выходе функции выдаётся что то типа такой конструкции:
C#
1
2
3
4
public struct outDataObject
{
    public Object[] objArray;
}
И уже структура, или может быть даже класс, приводятся к типу Object:

Внутри функции
C#
1
2
3
outDataObject myObj=new outDataObject(); 
myObj.objArray=new Object[32];
Object Data=myObj;
То же самое с short, смотрите вот эту тему и/или через отладку посмотрите какой тип данных на самом деле на выходе функции.

Вам надо сделать следующее чтобы получить доступ к массивам:
C#
1
2
3
4
var outData=Data as someClassOrStruct;
if (Data!=null)
    if (Data.objArray[1]!=0)
        return true;
0
10 / 10 / 3
Регистрация: 28.08.2012
Сообщений: 57
28.08.2012, 16:16  [ТС] 4
Спасибо, заработало вот это
C#
1
if ((Data as Object[])[1] == "Ту-ту-ту")
Попробую и другой предложенный вариант

C#
1
foreach (AcadObject объект in поле)
А что в этом коде страшного? )))
Задача в этой строчке перебрать все объекты в "поле" и потом рассортировать по определенным параметрам.

Добавлено через 35 минут
рано радовался. Студия это приняла, но не сравнивает
C#
1
if ((Data as Object[])[1] == "Ту-ту-ту")
Цитата Сообщение от mikhail_g Посмотреть сообщение
какой тип данных на самом деле на выходе функции
DataType object {short[]} и все элементы short
Data object {object[]} и все элементы object {string}

Добавлено через 10 минут
сделал так:
C#
1
2
3
4
объект.GetXData("Ла-ла-ла", out DataType, out Data);
                object[] outData = Data as object[];
                short[] outDataType = DataType as short[];
                       if (outData[1] == "Ту-ту-ту")
заработало. Спасибо за советы.

Появился еще вопрос. Название темы переименовали, но с ошибкой. Кому написать чтобы ее исправили т.к. как самому изменить название темы не нашел.
0
28.08.2012, 16:16
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
28.08.2012, 16:16
Помогаю со студенческими работами здесь

из заданного теста выбрать цифры и записать в массив N ,а буквы - в массив B .Все остальные символы записать в массив S
Привет всем.Помогиет пожалуйста решить задачку из заданного теста выбрать цифры и записать в...

Из заданного текста выбрать цифры и записать в массив N, а буквы- в массив B. Все остальные символы записать в массив S
подскажите как делать Из заданного текста выбрать цифры и записать в массив N, а буквы- в массив...

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

Программирование в маткаде, трехмерный массив
Помогите пожалуйста написать блок программы в Матккаде для создание трехмерного массива и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Блоги программистов
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(шес­­­­­­­­­­­­­­­ти­б­и­т­н­ы­й асихронный счётчик с управляющим сигналом заде
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
Angular vs React vs Vue.js
BasicMan 03.01.2025
О, друзья-разработчики и просто любопытные читатели! Сегодня мы отправимся в увлекательное путешествие по миру фронтенд-разработки, и первой остановкой станет Angular – этакий строгий немецкий. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru