Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
82 / 82 / 18
Регистрация: 03.02.2016
Сообщений: 564
Записей в блоге: 1
1

Класс с двумя свойствами массивами

10.09.2017, 06:36. Показов 595. Ответов 5
Метки нет (Все метки)

Нужна реализация следующего условия:
Нужно создать класс, у которого два свойства w и b
каждое свойство представляют собой одномерный массив из двух объектов, у которого следующие свойства square(тип Squases) и flag(тип Bits)
классы значений этих свойств представлены ниже:
C#
1
2
3
4
5
        class Bits
        {
            internal const int dog = 32;
            internal const int cat = 64;
        };
C#
1
2
3
4
5
6
7
        class Squases
        {
            internal const int x1 = 112;
            internal const int x2 = 113;
            internal const int x3 = 114;
            internal const int x4 = 115;
        };
Пробую, создал промежуточный класс:
C#
1
2
3
4
5
        class SquareFlag
        {
            Squases square;
            Bits flag;
        }
Пробую делать сам класс:
C#
1
2
3
4
5
6
7
8
9
10
11
12
        class Temp
        {
            SquareFlag[] w = {
                { Squases.x1,
                Bits.dog },
 
            };
 
            SquareFlag[] b = {
 
            };
        };
Но выдает ошибку и говорит что нужен оператор new

В общем нужно связать так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        w: [{
                square: Squases.x1,
                flag: Bits.dog 
            },
            {
                square: Squases.x2,
                flag: Bits.cat 
            }
        ],
        b: [{
                square: Squases.x3,
                flag: Bits.dog 
            },
            {
                square: Squases.x4,
                flag: Bits.cat 
            }
        ]
Добавлено через 20 часов 38 минут
Что такое не возможно сделать в c#?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2017, 06:36
Ответы с готовыми решениями:

Работа с массивами: поиск элементов с заданными свойствами
СРОЧНО!!! Дан цело численный массив .Найти: КАЖДУЮ ОТДЕЛЬНО!!!! Написать полностью в месте с...

Работа с массивами. Поиск элементов с заданными свойствами
Задан массив из пяти строк и шести столбцов 1)Сформировать массив из первых попавшихся...

Clojure Создать класс Табуретка со свойствами
Создать класс Табуретка со свойствами: Высота (h, в см), Качествоизделия (низкое, среднее,...

Описать класс со свойствами и реализовать методы
Помогите описать класс "Пластина" (wafer). Свойства класса: - радиус мм(100,150,200,300) -...

5
Эксперт .NET
9194 / 6551 / 1071
Регистрация: 21.01.2016
Сообщений: 24,795
10.09.2017, 07:22 2
Gcom, как-то так:

Кликните здесь для просмотра всего текста

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
59
60
61
62
63
64
65
using System;
 
namespace OtherConsoleExperiments
{
    enum Bits
    {
        Dog = 32,
        Cat = 64
    }
 
    enum Squases
    {
        x1 = 112,
        x2 = 113,
        x3 = 114,
        x4 = 115
    }
 
    class SquareFlag
    {
        public Squases Square { get; set; }
        public Bits Flag { get; set; }
    }
 
    class Temp
    {
        public SquareFlag[] W { get; private set; }
        public SquareFlag[] B { get; private set; }
 
        public Temp()
        {
            W = new SquareFlag[] 
            {
                new SquareFlag {
                    Square = Squases.x1,
                    Flag = Bits.Dog
                },
                new SquareFlag {
                    Square = Squases.x2,
                    Flag = Bits.Cat
                }
            };
 
            B = new SquareFlag[]
            {
                new SquareFlag {
                    Square = Squases.x3,
                    Flag = Bits.Dog
                },
                new SquareFlag {
                    Square = Squases.x4,
                    Flag = Bits.Cat
                }
            };
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            Console.ReadKey();
        }
    }
}


Добавлено через 3 минуты
Только "W" и "B" - очень неудачные имена свойств. Вообще ничего не говорящие стороннему человеку (которым и вы станете
данному коду через пару недель). SquareFlag, возможно, было бы лучше сделать структурой ибо сильно уж смахивает на объект-значение.
1
82 / 82 / 18
Регистрация: 03.02.2016
Сообщений: 564
Записей в блоге: 1
10.09.2017, 09:19  [ТС] 3
Usaga, Считаете что такое:
C#
1
2
3
4
5
        class Bits
        {
            internal const int dog = 32;
            internal const int cat = 64;
        };
лучше заменить на такое:
C#
1
2
3
4
5
    enum Bits
    {
        Dog = 32,
        Cat = 64
    }
Цитата Сообщение от Usaga Посмотреть сообщение
Только "W" и "B" - очень неудачные имена свойств
СПС за замечание - поменяем имена свойств.
0
Эксперт .NET
9194 / 6551 / 1071
Регистрация: 21.01.2016
Сообщений: 24,795
10.09.2017, 09:20 4
Gcom, да, перечисления тут больше к месту, как мне кажется.
0
82 / 82 / 18
Регистрация: 03.02.2016
Сообщений: 564
Записей в блоге: 1
10.09.2017, 10:53  [ТС] 5
Usaga, Может это:
C#
1
2
3
4
5
    class SquareFlag
    {
        public Squases Square { get; set; }
        public Bits Flag { get; set; }
    }
поменять на это:
C#
1
2
3
4
5
    class SquareFlag
    {
        public Squases Square { get; }
        public Bits Flag { get; }
    }
Эти данные меняться не будут, т.к. они константы, следовательно set не нужен.
0
Эксперт .NET
9194 / 6551 / 1071
Регистрация: 21.01.2016
Сообщений: 24,795
10.09.2017, 17:32 6
Gcom, да. Это - объект-значение. Очень желательно сделать его имутабельным.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2017, 17:32

Создать свой класс с методами и свойствами
Разработать структуру объекта "Газовая колонка". Объект должен иметь не менее пяти методов и не...

Базовый класс Airplane (самолет) со свойствами
Описать базовый класс AIRPLANE (самолет) со свойствами: • название пункта назначения рейса; •...

Необходимо класс дополнить свойствами и конструкторами
Есть код. Необходимо класс дополнить свойствами и конструкторами. Конструкторы должны быть с...

Создать класс monster со свойствами здоровье, сила
Помогите пожалуйста решить задачу: Создать класс monster со свойствами здоровье, сила. Суммарное...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.