Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
7 / 7 / 5
Регистрация: 14.07.2014
Сообщений: 554

Как из Object получить данные по x и y

15.05.2015, 15:31. Показов 2187. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как из Object получить данные по x и y. Например Oblects.не знаю команды[1,6] ну как в 2 мерном массиве. Подскажите команду.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.05.2015, 15:31
Ответы с готовыми решениями:

Получить данные из Object
Здравствуйте. Использую функцию, при выполнении который в объект типа Object возвращаются определенные значения: Возвращается набор...

Как получить доступ к методам из переменной типа Object
Задача вот какая. Пишу DLL для стороннего софта и нужна функция которая получает некоторый класс(спецификации и реализации которого у меня...

Как извлечь данные из stdclass object
При обращение к VK API мне вернулась Json строка в итоге получаю: $res = json_decode(file_get_contents($url)); print_r($res); ...

12
 Аватар для Tsin
1180 / 488 / 188
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
15.05.2015, 15:41
Bo0m21, откуда у вас информация о том, что объект содержит какие-то данные по x и по y? Подозреваю, что вам нужно привести object к какому-то другому типу, например Point, и достать данные. Покажите код, в котором это используется
1
7 / 7 / 5
Регистрация: 14.07.2014
Сообщений: 554
15.05.2015, 16:07  [ТС]
C#
1
2
3
4
5
6
7
8
            int count = FileReader.ReadInt32();
            Objects = new Object[count];
 
            for (int i = 0; i < count; i++)
            {
                Objects[i].ID = FileReader.ReadInt32();
                Objects[i].Path = readString();
            }
в мне надо бы сделать чтобы выводил допустим ид это ячейка 0 а патч это 1 и я сам указывал 0 или 1 и он выводил это в vessage
0
 Аватар для Tsin
1180 / 488 / 188
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
15.05.2015, 16:18
Bo0m21, вам нужно создать свою структуру или класс. И работать не с массивом Object, а с массивом экземпляров вашего класса.

C#
1
2
3
4
5
6
7
8
9
10
11
12
class MyClass
{
    public int ID;
    public string Path;
    ...
}
 
MyClass[] Objects = new MyClass[count];
for (int i = 0; i < count; i++)
{
    Objects[i] = new MyClass() { ID = FileReader.ReadInt32(), Path = readString() };
}
1
7 / 7 / 5
Регистрация: 14.07.2014
Сообщений: 554
15.05.2015, 16:23  [ТС]
Что то не пойму. Вот смотрите я вывожу вот так Resources.ChangeFile.Objects[e.ColumnIndex].ID значение в ячейке ID но мне нужно было сдлеать чтобы он представлял не так .ID а подругому чтобы ид бралось тк это 1 элемент за 0.
Вроде есть методы чтобы так вызывать
0
 Аватар для Tsin
1180 / 488 / 188
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
15.05.2015, 16:35
Bo0m21, простите, но я вас сейчас вообще не понял.

Попробуйте объяснить, какую задачу вы решаете?
1
7 / 7 / 5
Регистрация: 14.07.2014
Сообщений: 554
15.05.2015, 16:41  [ТС]
У меня есть структура я не полностью код выложил
Вот смотрите
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Editor.Resources
{
    struct Object
    {
        public int ID;
        public string Path;
    }
}
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
namespace Editor.Resources
{
    class ChangeFile
    {
        public static int Sign = 1347242308;
        public static Resources.Object[] Objects;
 
        static MemoryStream MemoryStreamReader;
        static MemoryStream MemoryStreamWriter;
        static BinaryReader FileReader;
        static BinaryWriter FileWriter;
 
        public static void Open(string FileLoad)
        {
            byte[] Filearray = File.ReadAllBytes(FileLoad);
 
            MemoryStreamReader = new MemoryStream(Filearray);
            FileReader = new BinaryReader(MemoryStreamReader);
 
            int inSign = FileReader.ReadInt32();
            if (inSign != Sign)
                throw new Exception("Неверный тип файла.");
 
            readObjects();
 
            FileReader.Close();
            MemoryStreamReader.Close();
        }
 
        static void readObjects()
        {
            int count = FileReader.ReadInt32();
            Objects = new Object[count];
 
            for (int i = 0; i < count; i++)
            {
                Objects[i].ID = FileReader.ReadInt32();
                Objects[i].Path = readString();
            }
        }
 
        static string readString()
        {
            int Length = FileReader.ReadInt32();
            byte[] strArr = FileReader.ReadBytes(Length);
            string result = Encoding.GetEncoding(936).GetString(strArr, 0, Length);
 
            return result;
        }
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                //MessageBox.Show(Resources.ChangeFile.Objects[1]..ToString());
                if (e.RowIndex == 0)
                {
                    Resources.ChangeFile.Objects[e.ColumnIndex].ID = Convert.ToInt32(dataGridView1.Rows[e.ColumnIndex].Cells[e.RowIndex].Value);
                }
                if (e.RowIndex == 1)
                {
                    Resources.ChangeFile.Objects[e.ColumnIndex].Path = dataGridView1.Rows[e.ColumnIndex].Cells[e.RowIndex].Value.ToString();
                }
            }
            catch
            { }
        }
Посмотрите на 3. При изменении ячейки в datagridview у нас оно и должно изменяться и в самом Object и поэтому я и хочу обращаться как к массиву [1,2]. Надеюсь сейчас правильно истолковал.
0
 Аватар для Tsin
1180 / 488 / 188
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
15.05.2015, 16:52
Bo0m21, мне кажется, что не стоило называть структуру Object. Это вносит огромную путаницу в код.

Если я правильно понял, то вам нужно создать двумерный массив структур Object. Тогда к определенному экземпляру можно будет обращаться по индексу [i, j]
1
7 / 7 / 5
Регистрация: 14.07.2014
Сообщений: 554
15.05.2015, 17:20  [ТС]
но у меня уж есть структура и я могу обратиться только не пойму как обратиться к ячейке [1,2] вот так
0
 Аватар для Tsin
1180 / 488 / 188
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
15.05.2015, 17:33
Bo0m21, вы же понимаете разницу между переменной типа структуры, одномерным и двумерным массивами структур (1, 2, 3)?

C#
1
2
3
4
5
struct MyStruct { ... }
 
MyStruct singleInstance; //1
MyStruct[] oneDimArray; //2
MyStruct[,] twoDimArray; //3
1
7 / 7 / 5
Регистрация: 14.07.2014
Сообщений: 554
15.05.2015, 17:40  [ТС]
Да я говрю не двумерные структуры. Вот смотрите есть обычный массив в ячеёке [3,4] хранится значение. мы его выводим name[3,4] ну и получаем то же значение так вот в этой структуре мне надо сделть так же допустим в ячейке 3,5 есть значение его нужно вывести а я вывожу его так Resources.ChangeFile.Objects[e.ColumnIndex].ID и тут идни туда ни сюда. Вы наверное мне пытаетесь обьяснить но я никак не могу догнать до этого
0
 Аватар для Tsin
1180 / 488 / 188
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
15.05.2015, 18:10
Лучший ответ Сообщение было отмечено Bo0m21 как решение

Решение

Bo0m21, кажется, я понял, что вам нужно. Посмотрите в торону перегрузки оператора [] в вашей структуре. Примерно так:

C#
1
int this[int id] { ... }
1
7 / 7 / 5
Регистрация: 14.07.2014
Сообщений: 554
16.05.2015, 00:32  [ТС]
Со всем разобрался спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.05.2015, 00:32
Помогаю со студенческими работами здесь

Как получить список объектов List<object>
на клиенте запускаю List&lt;object&gt; items = service_connection.channel.GetServices(ssid); вылетает исключение на клиенте ...

Получить свойства и методы объекта типа Object. Как?
Имеется код вида: ... Dim Tmp As Object For Each Tmp In UserControl.Controls ... Next ...Как получить методы и...

NullReferenceException: Object reference not set to an instance of an object в FindObjectType как исправить?
Ошибка NullReferenceException: Object reference not set to an instance of an object в FindObjectType как исправить? скрипт 1 public...

NullReferenceException: Object reference not set to an instance of an object - как исправить?
Здравствуйте, разбирался с unity и UI в нём после определённого момента, при попытке обратиться к методу .AddToor(); unity стал выдавать...

Как решить ошибку(object reference not set to an instance of an object) builder 2010 xe
Подробнее на картинке!


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru