Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
6 / 6 / 0
Регистрация: 06.12.2020
Сообщений: 142

Уменьшение размеров кода

01.03.2021, 13:26. Показов 5711. Ответов 57
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такой интересный код(это его часть, а так он намного больше), вопрос в том, как уменьшить код, чтоб не было стены на 200+ строк?
C#
1
2
3
4
5
6
7
8
9
10
if (A1.Text != "")
    AB1.Text = YmatrixChis(A1);
if (A2.Text != "")
    AB2.Text = YmatrixChis(A2);
if (A3.Text != "")
    AB3.Text = YmatrixChis(A3);
if (A4.Text != "")
    AB4.Text = YmatrixChis(A4);
if (A5.Text != "")
    AB5.Text = YmatrixChis(A5);
YmatrixChis:
C#
1
2
3
4
string YmatrixChis(params Control[] ctrl)
{
     return ((int.Parse(ctrl[0].Text) * int.Parse(chis.Text))).ToString();
}
AB(число), A(число) это название TextBox`ов
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2021, 13:26
Ответы с готовыми решениями:

Уменьшение размеров кода
AB1.Text = ((int.Parse(A1.Text) * int.Parse(B1.Text)) + (int.Parse(A6.Text) * int.Parse(B2.Text)) + (int.Parse(A11.Text) *...

Уменьшение размера кода
Изучаю C# третий день и решился взяться за программу для расчета ХЭШ кода, который нужен был по учебе, и столкнулся я с тем, что не знаю...

Наследование/уменьшение объема кода
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication10 { ...

57
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
24.04.2021, 17:18
Студворк — интернет-сервис помощи студентам
DarkComet, Добавьте в комбобокс и код
0
6 / 6 / 0
Регистрация: 06.12.2020
Сообщений: 142
24.04.2021, 18:10  [ТС]
MsGuns, можно поподробней?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
24.04.2021, 19:09
Конструктор:
C#
1
2
3
4
public frmMain()
      ...
      cmbOperation.Items.Add("^");
     ...
В коде обработчика кнопки "Посчитать" после последнего break добавить:
C#
1
2
3
4
      case "^":
            if (Numb != 0)
               (pnTargetData.Controls[i] as TextBox).Text = Math.Pow(sourceNumb,Numb).ToString();
            break;
0
6 / 6 / 0
Регистрация: 06.12.2020
Сообщений: 142
25.04.2021, 07:59  [ТС]
MsGuns, это не так работает... возведение в степень, это умножение матрицы саму на себя n-раз. тут видно возведение матрицы в степень 3.
0
6 / 6 / 0
Регистрация: 06.12.2020
Сообщений: 142
28.04.2021, 12:35  [ТС]
MsGuns, у меня не получается матрицу саму на себя умножить...

Добавлено через 11 минут
Я понимаю что, матрица находится в массиве, грубо сказать нужно считать это как с массивом и потом выводить, но я не могу понять.
вывод исходной матрицы(как я понял что это массив):
C#
1
(pnTargetData.Controls[i] as TextBox).Text = (pnSourceData.Controls[i] as TextBox).Text;
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
28.04.2021, 13:23
DarkComet, вот ты и пришёл к задаче, которую решать твоим способом хранения данных крайне неудобно. А ведь я говорил.
Матрица должна быть в массиве чисел, а не в контролах. Тогда все задачи по работе с ней сводятся к работе с массивом, а не с контролами
0
28.04.2021, 13:36  [ТС]

Не по теме:

ViterAlex, неудобно, но возможно... если я чего-то захотел, меня сложно переубедить, я хочу попробовать сделать через textbox, а не как все делают через datagrid :)

0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
28.04.2021, 14:59
DarkComet, дело ведь не в убеждении, а в том как нужно делать, и как не нужно. Выводить ты можешь хоть через веб-браузер, но хранить данные нужно в числовом массиве.
0
6 / 6 / 0
Регистрация: 06.12.2020
Сообщений: 142
28.04.2021, 15:20  [ТС]
ViterAlex, я не против чтоб данные хранились в числовом массиве... но ты говорил о DataGridView... мне нужно чтоб визуальная часть была сделана через TextBox(ввод и вывод значений), а что и как будет храниться, считаться и тд, это уже не важно
0
68 / 56 / 15
Регистрация: 30.01.2020
Сообщений: 332
28.04.2021, 16:02
DarkComet, возможно я не прав, но у меня возникло ощущение, что вы не понимаете, что вам пытаются донести.
Цитата Сообщение от DarkComet Посмотреть сообщение
у меня не получается матрицу саму на себя умножить...
Цитата Сообщение от DarkComet Посмотреть сообщение
мне нужно чтоб визуальная часть была сделана через TextBox
Эти две задачи абсолютно никак не связаны. Если вы будете производить расчёты в массивах, вы можете вывести их куда угодно, хоть в textbox, хоть на принтер.
А в вашем случае, если вам завтра скажут выводить в датагрид, вам придется полностью переписывать весь код.
1
28.04.2021, 16:47  [ТС]

Не по теме:

gegbot, мне несложно переписать код, который занимает меньше 100. Мне не очень нравятся DataGrid, у меня с ними был печальный опыт работы...

0
68 / 56 / 15
Регистрация: 30.01.2020
Сообщений: 332
28.04.2021, 17:09
Цитата Сообщение от DarkComet Посмотреть сообщение
Мне не очень нравятся DataGrid
При чём тут DataGrid? Логику от интерфейса надо отделять, и тогда проблемы, которые вы пытаетесь решить, у вас просто не появятся.
Цитата Сообщение от DarkComet Посмотреть сообщение
мне несложно переписать код, который занимает меньше 100
а 101? а 1001? Или вы так и будете дальше по жизни заниматься перемножением двух матриц?

Не по теме:

Цитата Сообщение от DarkComet Посмотреть сообщение
Мне не очень нравятся DataGrid, у меня с ними был печальный опыт работы...
Мне не очень нравится молоток, у меня с ним был печальный опыт работы, поэтому я буду забивать гвозди ломиком...

1
6 / 6 / 0
Регистрация: 06.12.2020
Сообщений: 142
29.04.2021, 11:04  [ТС]
gegbot, я тут подумал... можете дать реализацию через DataGrid с вводом и выводов из/в textbox, а не в DataGridView
0
68 / 56 / 15
Регистрация: 30.01.2020
Сообщений: 332
29.04.2021, 12:50
Цитата Сообщение от DarkComet Посмотреть сообщение
можете дать реализацию через DataGrid с вводом и выводов из/в textbox
реализацию чего вы хотите увидеть?

Добавлено через 3 минуты
DataGrid это контрол, если что
0
bite
 Аватар для I can
5009 / 4821 / 852
Регистрация: 13.04.2015
Сообщений: 10,088
29.04.2021, 12:51
Цитата Сообщение от DarkComet Посмотреть сообщение
из/в textbox
Мне вот интересно, если матрицы будут размером 100х100, не замучишься текстбоксы рисовать?
0
 Аватар для Synthwave
37 / 24 / 14
Регистрация: 25.01.2021
Сообщений: 99
29.04.2021, 13:24
Неспорю что DGV намного лучше но раз уж тема поднята вот с изменениями:
Матрицы две Источник и Назначение.
Умножение или возведение в степень.
Все расчеты виртуальны отображение как и хотел ТС в TextBox.
/Попробуйте изменить значение в любом TextBox на первой панели/

Если есть желание можно вывести в DGV с добавлением соответствующего кода.
Именовал я специально по типу матрицы если кто смотрел всеже код прошлой версии тот догадался что я имел ввиду.
Вложения
Тип файла: 7z MP-Update.7z (23.3 Кб, 11 просмотров)
0
6 / 6 / 0
Регистрация: 06.12.2020
Сообщений: 142
29.04.2021, 17:25  [ТС]
Цитата Сообщение от I can Посмотреть сообщение
текстбоксы рисовать?
они создаются динамически
0
bite
 Аватар для I can
5009 / 4821 / 852
Регистрация: 13.04.2015
Сообщений: 10,088
29.04.2021, 17:32
Цитата Сообщение от DarkComet Посмотреть сообщение
они создаются динамически
Не намного лучше.
0
6 / 6 / 0
Регистрация: 06.12.2020
Сообщений: 142
29.04.2021, 17:34  [ТС]
Synthwave, вы меня не так поняли. Я хочу именно возведение матрицы в степень, а не числа(число я и сам могу сделать). Пример на возведение матрицы во 2 степень:
0
6 / 6 / 0
Регистрация: 06.12.2020
Сообщений: 142
29.04.2021, 17:39  [ТС]
I can, их можно создавать хоть сколько, правда пока память у компьютера не заполнится
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.04.2021, 17:39

Вопросы по C# уменьшение написанного кода с Console
Здравствуйте ! У меня такие вопросы : t = int.Parse(Console.ReadLine()); //вводим число Настолько я понимаю, здесь сначала...

Уменьшение строк кода для преобразования даты и времени изменения файла в строку
Мне хотелось бы в конечном итоге переименовать файлы так, чтобы дата и время изменения файла стояли в начале имени файла. Тогда файлы на...

Уменьшение размеров картинки
Здравствуйте, подскажите способы сжатия расширения изображения формата bmp,jpeg в делфи с минимальной потерей качества,какие операторы за...

Уменьшение размеров sysaux
Тестировал создание AWR, в итоге чего sysaux разъелся до 31Гб, снимки удалил (BEGIN ...

уменьшение размеров tablelayoutpanel
Добавляю строки, все нормально , панель увеличивается, но при удалении строк (rowcount-=1) панель уменьшаться не хочет, в результате...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
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, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru