|
Труд вопреки насмешкам
|
||||||
Как быть, если образуется длинная максимально вложенная строка с рекурсивным вызовом?14.11.2025, 16:48. Показов 2896. Ответов 33
Метки нет (Все метки)
Например:
0
|
||||||
| 14.11.2025, 16:48 | |
|
Ответы с готовыми решениями:
33
Получить новое число, которое образуется путем исключения средней цифры исходного числа
С помощью рекурсивной функции выбирать подстроку, максимально вложенную в другие подстроки |
|
Труд вопреки насмешкам
|
|
| 23.11.2025, 12:54 [ТС] | |
|
0
|
|
|
Труд вопреки насмешкам
|
||
| 23.11.2025, 13:04 [ТС] | ||
|
0
|
||
|
Модератор
|
|||
| 23.11.2025, 13:17 | |||
|
Основные. Массивы в существующей, актуальной компьютерной архитектуре являются по сути неизменяемыми. Почти все коллекции (в том числе и строки) это оболочки над массивами, в которых просто инкапсулировано пересоздание массивов. Оно там есть, но пользователь коллекции просто не видит за оболочкой как и когда это происходит. Второе, строки (string) это не просто коллекция символов (char). В строках очень много логики связанной с тем что такой набор это не просто последовательность, а часть ТЕКСТА. Как минимум при работе с текстом надо учитывать особенности культуры в контексте которой этой текст интерпретируется. Добавлено через 3 минуты Я понял бы ещё введение типа с названием дефолтного типа, который используется редко и/или в самой .Net имеет несколько реализаций. Но для основных типов (String, Int32, Double, Boolean и др.) я бы очень не советовал так делать. Одно это уже будет отталкивать потенциальных пользователей от использования вашего пакета (платформы). Добавлено через 2 минуты Сам по себе аргумент Visual Studio при его использовании подсказывает не существенный.Во первых, это не единственная IDE для работы с C#. Во вторых, это настраиваемые правила, которые могут быть изменены пользователем VS.
0
|
|||
|
Труд вопреки насмешкам
|
|||
| 23.11.2025, 13:19 [ТС] | |||
|
0
|
|||
|
Модератор
|
||||
| 23.11.2025, 13:29 | ||||
|
Где-то же должна храниться коллекция исходных данных (символов) на что будут указывать эти указатели. Сами указатели тоже где-то должны храниться. Такое вполне возможно, но такая реализация и имеет огромное количество минусов. Как-то ещё допустимых для небольших по размеру структур, но текстовые строки это явно не то что следует хранить в стеке. Добавлено через 1 минуту Даже сортировки нормальной, кроме английского, у вас не будет?
0
|
||||
|
Труд вопреки насмешкам
|
||||
| 23.11.2025, 13:31 [ТС] | ||||
FreeHGlobal().Добавлено через 1 минуту
0
|
||||
|
Модератор
|
|||
| 23.11.2025, 13:50 | |||
|
В существующей компьютерной архитектуре, это просто сигнал для ОС, которая в будущем , возможно сдвинет память всех процессов. Соответсвенно, все фрагменты освобожденной памяти из всех процесов сместятся в один пул, который и будет присоединён к пулу свободной памяти для распределения по другим запросам. Одной из задачей GС и является оптимизация всего этого. И как я вам писал ранее, GC делает это очень эффективно. По сути, вы не делаете чего-то особенного в сравнении с T[] (в частностb char[]). Просто делаете это с огромными трудностями, массой дополнительного кода, возможными ошибками и менее эффективно.Свойство System.Globalization.CultureInfo.InvariantCulture Если коротко, то на практике InvariantCulture - это "en-US" культура.Добавлено через 3 минуты То есть "международная культура" для американцев (а именно они разработчики этих стандартов внедрённых в Windows) - это их американская культура.
0
|
|||
|
Труд вопреки насмешкам
|
||
| 23.11.2025, 14:07 [ТС] | ||
|
Добавлено через 10 минут Элд Хасп, и еще, без указателей разве возможно получить диапазон ( GetRange()) без пересоздания? Можно AsSpan(), но Span - специфическая структура, LINQ-подобные методы с ней не работают, либо нужно делать отдельные копии, кроме того, AsSpan() бессмысленен для структур в стиле связного списка или дерева. А на указательной арифметике это делается простым указанием начала и длины, разумеется, с проверкой, не случится ли выход за границу. А на массивах как?
0
|
||
|
Модератор
|
|||
| 23.11.2025, 14:16 | |||
|
Память нужно освобождать, иначе как ОС узнает, что потом в будущем следует это место дефраментировать. Но не следует ожидать, что это будет происходить мгновенно. Как я вам ранее объяснял, такая дефрагментация это очень затратная операция. Она может затрагивать множество действующих процессов. Поэтому делать её "по каждому чиху" ОС точно не будет. Возможно только в каких-то специализированных микроконтроллерах, в которых вопрос оптимизации памяти приоритетнее всех остальных. Но очень сомневаюсь, что на таких системах будет использоваться Шарп. В Шарпе же все это берёт на себя GC. Заменять его чем-то кастомным и надеяться что это будет работать эффективнее... скажем так - наивно. Добавлено через 2 минуты В самом простом случае. Есть исходная строка текста. Передавайте начальный индекс и длину нужного фрагмента. Для синтаксического анализа этого "выше головы" хватит.
0
|
|||
|
Труд вопреки насмешкам
|
|
| 23.11.2025, 14:18 [ТС] | |
|
0
|
|
|
Модератор
|
||||||||||||
| 23.11.2025, 16:37 | ||||||||||||
1
|
||||||||||||
|
152 / 136 / 29
Регистрация: 02.07.2013
Сообщений: 996
|
||
| 02.12.2025, 15:04 | ||
|
Не по теме: Замечу что еще можно самостоятельно какой-то аллокатор написать и жить в рамках заранее выделенной памяти и костылить работу над строками каким-то необычным способом, но тут (имхо) шарп будет скорее не помощником а помехой
1
|
||
| 02.12.2025, 15:04 | |
|
Сколько может быть вложенных скобок в if()
Рекурсивный запрос: узнать ID всех вложенных level
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|