Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для sysrepos
86 / 79 / 31
Регистрация: 08.08.2013
Сообщений: 464
Записей в блоге: 1

Задать значения полям массива классов

04.12.2013, 00:28. Показов 866. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, как написать следующую вещь:


в бэйсике это выглядет примерно так:

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
type ARR
  dim x as integer
  dim y as integer
end type
 
sub proc1
dim ob() as ARR
 
ob(1).x=10
ob(1).y=15
 
ob(2).x=22
ob(2).y=23
 
end sub
в шарпе пробовал вот так, скомпилировалось, но во время выполнения выдает ошибку Ссылка на объект не указывает на экземпляр объекта.
хотя синтаксических ошибок не показал:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
 
class myclass 
{
    static void Main() 
    {
        arr[] ob = new arr[5];
        ob[1].x = 10;
        ob[1].y = 15;
 
        ob[2].x = 22;
        ob[2].y = 23;
    }
}
 
class arr
{
    public int x;
    public int y;
}
если возможно, то желательно чтобы было на основе обычного массива, или индексатора, если с обычным массивом нельзя
(без использования класса List<T>, его еще не изучал)

и чтобы можно было размер массива изменять
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.12.2013, 00:28
Ответы с готовыми решениями:

Создать n классов и рандомно занести значения из массива
Собственно задача: Есть n спортсменов Есть класс public class Sportsman { public bool win; ...

Можно ли полям структуры при их объявлении присвоить значения
A) Да, но только стандартным типам B) Нет C) Да D) Да, но только типам-значениям

Значения массива задать функцией Random
Всем добрый вечер! В универе задали написать коды к двум задачам.Вот условие 2х задач.Нужны только коды программ по этим задачам на языке...

7
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
04.12.2013, 00:42
sysrepos, так сойдет?
C#
1
2
3
        arr[] ob = new arr[5];
        ob[1] = new obb(){ x = 10, y = 15 };
        ob[2] = new obb(){ x = 22, y = 23};
0
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
04.12.2013, 00:52
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var arr = new MyGenericClass<int>[5];
 
            arr[0].X = 2;
            arr[0].Y = 5;
 
            arr[1].X = 4;
            arr[3].Y = 8;
        }
    }
 
    public class MyGenericClass<TypeOfElement>
        {
            public TypeOfElement X { get; set; }
            public TypeOfElement Y { get; set; }
 
            public MyGenericClass()
            {
                X = default(TypeOfElement);
                Y = default(TypeOfElement);
            }
        }
}
Как-то вот так. Дженерик-версия)
1
 Аватар для sysrepos
86 / 79 / 31
Регистрация: 08.08.2013
Сообщений: 464
Записей в блоге: 1
04.12.2013, 01:08  [ТС]
Цитата Сообщение от rattrapper Посмотреть сообщение
sysrepos, так сойдет?
не очень понял как ваш пример использовать

пробовал так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
 
class myclass 
{
    static void Main()   
    {
                      
        arr[] ob = new arr[5];
        ob[1] = new ob() { x = 10, y = 15 };        
        Console.Read();
 
    }
}
 
class arr
{
    public int x;
    public int y;
}
пишет ошибку:
Ошибка 1 Не удалось найти имя типа или пространства имен "ob" (пропущена директива using или ссылка на сборку?)


Добавлено через 30 секунд
Добавлено через 3 минуты
Anderok, спасибо, если проще нельзя, то буду изучать:
using System.Collections.Generic;
using System.Linq;
using System.Text;

Добавлено через 7 минут
0
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
04.12.2013, 01:20
Цитата Сообщение от sysrepos Посмотреть сообщение
Anderok, спасибо, если проще нельзя, то буду изучать:
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
using System;
 
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var arr = new MyGenericClass<int>[5];
 
            for (int i = 0; i < 5; i++)
                arr[i] = new MyGenericClass<int>();
 
            Console.WriteLine(arr[0].X.ToString());
 
            arr[1].X = 2;
            arr[1].Y = 5;
 
            arr[1].X = 4;
            arr[3].Y = 8;
        }
    }
 
    public class MyGenericClass<TypeOfElement>
        {
            public TypeOfElement X { get; set; }
            public TypeOfElement Y { get; set; }
 
            public MyGenericClass()
            {
                X = default(TypeOfElement);
                Y = default(TypeOfElement);
            }
        }
}
Немного подправил. А то тот код нерабочий был.
0
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
04.12.2013, 19:35
Цитата Сообщение от sysrepos Посмотреть сообщение
Ошибка 1 Не удалось найти имя типа или пространства имен "ob" (пропущена директива using или ссылка на сборку?)
9-ая строка:
C#
1
ob[1] = new arr() { x = 10, y = 15 };
1
 Аватар для sysrepos
86 / 79 / 31
Регистрация: 08.08.2013
Сообщений: 464
Записей в блоге: 1
06.12.2013, 00:26  [ТС]
rattrapper, а как в случае с вашим кодом изменить размер получившегося массива?

пишу например
C#
1
2
Array.Resize(ref ob, 10);
        ob[10].x = 30;
компилируется, но во время выполнения вылетает с ошибкой "Индекс находился вне границ массива."
0
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
06.12.2013, 00:29
Цитата Сообщение от sysrepos Посмотреть сообщение
rattrapper, а как в случае с вашим кодом изменить размер получившегося массива?

пишу например
C#
1
2
Array.Resize(ref ob, 10);
        ob[10].x = 30;
компилируется, но во время выполнения вылетает с ошибкой "Индекс находился вне границ массива."

Так конечно! По умолчанию индексация массивов начинается с нуля!

Нулевой элемент -- первый по счёту
Девятый элемент -- десятый по счёту
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.12.2013, 00:29
Помогаю со студенческими работами здесь

Обращение к приватным полям классов
Необходимо создать класс, в котором есть указатель на другой класс и все функции, которые с ним нужно выполнить.В другом классе все...

Как задать уникальность по двум полям
есть поля 1 - id (ид) 2 - id_user (ид пользователя) 3 - date_r (дата) как сделать так чтобы при инсерте нельзя добавить две...

С помощью генератора случайных чисел ,задать значения элементов массива
Ввести с клавиатуры размерность одномерного массива . С помощью генератора случайных чисел ,задать значения его элементов. Написать две...

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

В одномерном массиве, состоящем из 15 вещественных элементов(значения элементов массива задать случайными числами из интервала (-10; 10), вычислить пр
Ребят, помогите пожалуйста. Посмотрите код, если не сложно. (В одномерном массиве, состоящем из 15 вещественных элементов(значения...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru