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

Константы на основе других констант

14.03.2019, 15:03. Показов 2718. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не даёт объявить константу, рассчитывающуюся из других констант. Как обойти?
C#
1
2
3
4
        
        public const int max_X = 100;
        public const int max_Y = 100;
        public static double max_R = Math.Sqrt(Math.Pow(max_X, 2) + Math.Pow(max_Y, 2));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.03.2019, 15:03
Ответы с готовыми решениями:

Константа как объединение других констант
В других языках можно константу-член класса задать как результат объединения других констант. А в...

Использование функций и констант из других файлов
Использование функций и констант из других notebook-ов. Например у меня множества констант и...

Создание списка на основе трёх других
Задача состоит в следующем: Даны и списка A,B,C, надо сформировать список S так: A , B,C, S должен...

Создание таблицы в Access на основе других таблиц
Есть 3 таблицы: Движение, ЛЗК, Требования. В каждой находится столбец "Код материала", в таблице...

6
Эксперт .NET
6512 / 4088 / 1606
Регистрация: 09.05.2015
Сообщений: 9,554
14.03.2019, 15:08 2
Тут можно разве что readonly указать...
0
 Аватар для Dark_Spirit
0 / 0 / 0
Регистрация: 19.02.2019
Сообщений: 41
14.03.2019, 15:13  [ТС] 3
Цитата Сообщение от Someone007 Посмотреть сообщение
readonly указать
Не вариант, потом это используется в качестве границ массива.
0
Эксперт .NET
6512 / 4088 / 1606
Регистрация: 09.05.2015
Сообщений: 9,554
14.03.2019, 15:31 4
Цитата Сообщение от Dark_Spirit Посмотреть сообщение
потом это используется в качестве границ массива
Чем плохо использование readonly поля в качестве границ массива?

Если вам нужна константа, вычислите её и укажите конкретное значение...
0
 Аватар для Dark_Spirit
0 / 0 / 0
Регистрация: 19.02.2019
Сообщений: 41
14.03.2019, 16:09  [ТС] 5
Цитата Сообщение от Someone007 Посмотреть сообщение
readonly поля в качестве границ массива
Это естественно не работает -
C#
1
2
public static readonly double max_R = Math.Sqrt(Math.Pow(max_X, 2) + Math.Pow(max_Y, 2));
public double[,] ParametricGreed = new double[Constans.max_R, 2*Math.PI];
Цитата Сообщение от Someone007 Посмотреть сообщение
Если вам нужна константа, вычислите её
Я и вычисляю её на основании других констант
0
Эксперт .NET
6512 / 4088 / 1606
Регистрация: 09.05.2015
Сообщений: 9,554
14.03.2019, 16:12 6
Лучший ответ Сообщение было отмечено Dark_Spirit как решение

Решение

Все прекрасно работает если привести к корректным типам (у массива размерность - целое число, а не с плавающей запятой...)
C#
1
public double[,] ParametricGreed = new double[(int)Constans.max_R, (int)(2 * Math.PI)];
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
17779 / 13899 / 5323
Регистрация: 17.03.2014
Сообщений: 28,439
Записей в блоге: 1
14.03.2019, 16:13 7
Лучший ответ Сообщение было отмечено Usaga как решение

Решение

Dark_Spirit, в данном случае max_R придется объявить как static readonly вместо const. В целом константы могут ссылаться на другие константы, но методы использовать, увы, нельзя.

Добавлено через 7 минут
Нашел предложение ввести в язык понятие детерминизма, которое, в частности, позволило писать бы константы с вычислениями, но это дело отдаленного будущего.
2
14.03.2019, 16:13
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.03.2019, 16:13
Помогаю со студенческими работами здесь

Сформировать список на основе двух других по правилу
Создать метод формирования списка L, включив в него по одному разу элементы, которые входят хотя бы...

Создание таблицы на основе перебора значений из других таблиц
Добрый день, уважаемые посетители форма. Прошу помощи в решении следующего вопроса. Не знаю как к...

Сформировать одномерный массив на основе двух других массивов
Даны два массива: А, состоящий из N элементов и В, состоящий из N элементов. Сформировать массив C...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Как узнать какой процесс блокирует файл или каталог в Windows
bt_guru 23.01.2025
При работе с операционной системой Windows пользователи нередко сталкиваются с ситуацией, когда система отказывается выполнять определенные действия с файлами или каталогами, сообщая, что они. . .
Как в curl узнать код статуса HTTP запроса. Коды состояния HTTP
bt_guru 23.01.2025
Коды состояния HTTP играют значимую роль в обеспечении эффективного взаимодействия между клиентами и серверами. При работе с веб-сервисами важно не только отправлять запросы, но и правильно. . .
Как сортировать вывод команды ls в Linux
bt_guru 23.01.2025
В операционной системе Linux команда ls является одним из наиболее часто используемых инструментов для просмотра содержимого директорий. При работе с файловой системой пользователи регулярно. . .
Как сделать POST запрос с помощью curl
bt_guru 23.01.2025
curl - это мощный инструмент командной строки позволяет отправлять и получать данные через различные протоколы, включая HTTP, HTTPS, FTP и множество других. Особенно полезным curl становится при. . .
Прокрутка в tmux с помощью мыши и клавиатуры
bt_guru 23.01.2025
Tmux представляет собой мощный терминальный мультиплексор, который позволяет пользователям создавать и управлять несколькими терминальными сессиями внутри одного окна. Одной из важнейших функций tmux. . .
Как проверить, содержит ли массив значение в JavaScript. Поиск в массиве
bytestream 23.01.2025
Эффективный поиск значений в массивах становится критически важным навыком для разработчиков, использующих JavaScript. Процесс поиска элементов в массиве может показаться простым на первый взгляд,. . .
Как удалить тег Git в удалённом репозитории (remote)
bytestream 23.01.2025
Одним из важнейших механизмов организации версий в Git являются теги, которые позволяют помечать определенные точки в истории проекта как значимые. Теги часто используются для маркировки релизов,. . .
Чем отличаются URL, URI и URN
bytestream 23.01.2025
Системы идентификации представляют собой фундаментальный механизм, позволяющий однозначно определять местоположение и характеристики различных информационных объектов в глобальной сети. Эти системы. . .
Как центрировать div внутри другого div с помощью CSS. Управление расположением элементов в CSS
bytestream 23.01.2025
Позиционирование элементов играет ключевую роль в создании качественных и профессиональных интерфейсов. Одной из наиболее часто встречающихся задач является центрирование элементов на веб-странице,. . .
Что означают различные символы в синтаксисе PHP
bytestream 23.01.2025
PHP (Hypertext Preprocessor) представляет собой один из наиболее широко используемых языков программирования для веб-разработки, который обладает богатой и интересной историей развития. Изначально. . .
Способы клонирования объектов в JavaScript
bytestream 23.01.2025
В современной разработке на JavaScript работа с объектами является фундаментальной частью создания любого приложения. При манипуляции объектами часто возникает необходимость создавать их копии для. . .
Как проверить состояние чекбокса в jQuery. Как работать с чекбоксами
bytestream 23.01.2025
При разработке интерактивных веб-форм часто возникает необходимость программно определять состояние чекбоксов с помощью jQuery. Чекбоксы являются важными элементами пользовательского интерфейса,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru