Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 08.12.2017
Сообщений: 7
1

Как сделать статический список?

01.07.2018, 11:55. Показов 4542. Ответов 6

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
//
    public class Alkyl
    {
        public string Name { get; set; }
        public Boolean Aryl { get; set; }
        public double MM;
        public const double MMh = 1;
        public const double MMc = 12;
    }
//Собственно сам список
    public class Alkyls : List<Alkyl>
    {
        public Alkyls()
        {
            Alkyl alkyl = new Alkyl { Name = "C9/C11" };
            alkyl.Aryl = false;
            this.Add( alkyl );
 
            alkyl = new Alkyl { Name = "C9-C11" };
            alkyl.Aryl = false;
            this.Add(alkyl);
        }
    }
Список планирую использовать в разных местах программы и хотелось бы ИЗБАВИТСЯ от конструкции типа:
C#
1
2
3
4
Alkyls alkyls = new Alkyls();
Alkyl alkyl = alkyls[0];
//хочется чтоб:
Alkyl alkyl = Alkyls[0];
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2018, 11:55
Ответы с готовыми решениями:

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

Как лучше объявить статический список или массив
Добрый день! Задача банальная, но не могу сообразить. Вообще есть ряд чисел integer: -32, -16, -8,...

Как сделать статический URL страниц?
Сайт blin.in - ситуация следующая: По каким бы новостям я не ходил - в браузере все равно...

Как сделать на D-триггере вход из динамического в статический
Подскажите пожалуйста, как преобразовать вход clock на D-триггере из входа с положительным фронтом...

6
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
01.07.2018, 12:09 2
Цитата Сообщение от GYlgameSH Посмотреть сообщение
хотелось бы ИЗБАВИТСЯ от конструкции типа
Это называется статический индексатор, который в C# невозможен, поскольку для индексатора нужна ссылка на экземпляр.
В твоём случае нет необходимости вообще заводить отдельный класс-наследник List. Объяви статическое свойство readonly, сразу его наполни и обращайся откуда нужно.
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
public class Alkyl
{
    public string Name { get; set; }
    public Boolean Aryl { get; set; }
    public double MM;
    public const double MMh = 1;
    public const double MMc = 12;
}
private static List<Alkyl> alkyls = new List<Alkyl>()
    {
        new Alkyl
        {
            Name = "C9/C11",
            Aryl = false
        },
        new Alkyl
        {
            Name = "C9-C11",
            Aryl = false
        }
    }
public static List<Alkyl> Alkyls
    {
        get
        {
            return alkyls;
        }
    }
1
0 / 0 / 0
Регистрация: 08.12.2017
Сообщений: 7
01.07.2018, 12:47  [ТС] 3
Блин.... Заставил ты меня задуматься над тем что я успел понаписать...
Спасибо.

Добавлено через 1 минуту
Я так понял это практически классификатор прикрученный к классу из которого и осуществлять подбор экземпляров класса.
0
Эксперт JS
6492 / 3903 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
01.07.2018, 12:48 4
ViterAlex,
Цитата Сообщение от ViterAlex Посмотреть сообщение
статический индексатор, который в C# невозможен
Тоже бесит... Причём основания для отказа нет.
0
Фрилансер
761 / 458 / 146
Регистрация: 06.01.2017
Сообщений: 4,856
01.07.2018, 16:51 5
Цитата Сообщение от amr-now Посмотреть сообщение
Тоже бесит... Причём основания для отказа нет.
в каких случаях он необходим?))
0
Эксперт JS
6492 / 3903 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
01.07.2018, 16:54 6
FateOri,
в тех же случаях, что и для нестатического класса. А вдруг захотелось использовать статический класс например.
0
Эксперт .NET
1696 / 1325 / 316
Регистрация: 15.06.2012
Сообщений: 5,045
Записей в блоге: 3
02.07.2018, 07:20 7
Цитата Сообщение от FateOri Посмотреть сообщение
в каких случаях он необходим?))
Для обращения к неизменяемой логики программы, которая предстваляет из себя список. Например тот же ConnectionStrings. Более того -- запрет статического индексатора, это фишка C#, CLR не видит различий между свойствами/индексаторами, для нее это тупо два метода get/set.
0
02.07.2018, 07:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.07.2018, 07:20
Помогаю со студенческими работами здесь

Как сделать "стенку, тобиш статический предмет?
Как сделать чтоб МС при касании к другому МС останавливался? Например: Есть персонаж, назовем...

Как сделать статический маршрут, чтобы с компа виделся принтер
Есть дома вот такая сеть .0.1 это оптический модем, к нему подключен netGear с Wi-Fi. Не пойму...

статический IP как сделать чтобы мой йп был виден в нете
Всем привет, у мну оптоволкно, статический IP как сделать чтобы мой йп был виден в нете, на сайте...

Как сделать методы к полям класса и перезапущенную операцию (статический метод)?
В Java я очень чайник, подскажите пожалуйста. Как это сделать? Определите класс &quot;точка&quot;,...


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

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