|
0 / 0 / 0
Регистрация: 02.05.2022
Сообщений: 4
|
|
Как создать список по нескольким условиям if в цикле for25.01.2023, 19:24. Показов 862. Ответов 3
Метки нет (Все метки)
Коллеги,
Я начинающий программист и у многих мой вопрос вызовет улыбку. В ниже приведенном фрагменте кода я считываю и обрабатываю в цикле for значения ранее полученных списков. Верхняя часть кода работает без проблем, но когда понадобилось в зависимости от значений одного из параметров производить расчеты и по их результатам формировать выходные списки значений, сразу возникла проблема - как создать список по нескольким условиям if в цикле for? Как только выносишь формирование списка выходных значений из конструкции if, сразу пропадает возможность его формирования , т.к. C# перестает видеть этот параметр. А если оставить формирования списка в конструкции if то списки формируются только по первым значениям. Как решить эту задачу? for (int i = 0; i <= (qif - 1); ++i) { var o_vlt = l_vlt[i].Trim(new char[] { 'V', 'v' }); int d_vlt = Int32.Parse(o_vlt); string t_vlt = Convert.ToString(d_vlt); VLT.Add(t_vlt); double d_pf = Math.Round(Double.Parse(l_pf[i]), 2); string t_pf = Convert.ToString(d_pf); PF.Add(t_pf); double d_acos = Math.Acos(d_pf); double d_sin = Math.Sin(d_acos); var Rc = Double.Parse(l_Rc[i]); var Xc = Double.Parse(l_Xc[i]); var o_pwr = l_pwr[i].Trim(new char[] { 'W', 'w' }); double d_pwr = Math.Round((Double.Parse(o_pwr) / 1000), 2); string t_pwr = Convert.ToString(d_pwr); PWR.Add(t_pwr); var o_lnth = l_lnth[i].Trim(new char[] { 'M', 'm' }); double d_lnth = Math.Round((Double.Parse(o_lnth) / 1000), 2); string t_lnth = Convert.ToString(d_lnth); LNTH.Add(t_lnth); if (d_vlt == 230) { double d_curt = Math.Round(((d_pwr * 1000) / (d_vlt * d_pf)), 1); string t_curt = Convert.ToString(d_curt); double d_du = Math.Round((2 * d_curt * d_lnth * (Rc * d_pf + d_sin * Xc) / (10 * d_vlt)), 2); string t_du = Convert.ToString(d_du); CRT.Add(t_curt); l_dU.Add(t_du); } if (d_vlt == 400) { double d_curt = Math.Round(((d_pwr * 1000) / (Math.Sqrt(3) * d_vlt * d_pf)), 1); string t_curt = Convert.ToString(d_curt); double d_du = Math.Round((Math.Sqrt(3) * d_curt * d_lnth * (Rc * d_pf + d_sin * Xc) / (10 * d_vlt)), 2); string t_du = Convert.ToString(d_du); CRT.Add(t_curt); l_dU.Add(t_du); } } С уважением, Андрей.
0
|
|
| 25.01.2023, 19:24 | |
|
Ответы с готовыми решениями:
3
Как создать фильтр по нескольким условиям в поле, где дублируются данные?
|
|
7 / 8 / 1
Регистрация: 09.12.2017
Сообщений: 140
|
||||||
| 25.01.2023, 19:44 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 02.05.2022
Сообщений: 4
|
|
| 26.01.2023, 09:43 [ТС] | |
|
Попробовал и так
if (d_vlt == 230) { d_curt = Math.Round(((d_pwr * 1000) / (d_vlt * d_pf)), 1); d_du = Math.Round((2 * d_curt * d_lnth * (Rc * d_pf + d_sin * Xc) / (10 * d_vlt)), 2); if (d_vlt == 400) { d_curt = Math.Round(d_pwr * 1000 / (Math.Sqrt(3) * d_vlt * d_pf), 1); d_du = Math.Round((Math.Sqrt(3) * d_curt * d_lnth * (Rc * d_pf + d_sin * Xc) / (10 * d_vlt)), 2); string t_curt = Convert.ToString(d_curt); string t_du = Convert.ToString(d_du); CRT.Add(t_curt); l_dU.Add(t_du); } } И так if (d_vlt == 230) { d_curt = Math.Round(((d_pwr * 1000) / (d_vlt * d_pf)), 1); d_du = Math.Round((2 * d_curt * d_lnth * (Rc * d_pf + d_sin * Xc) / (10 * d_vlt)), 2); if (d_vlt == 400) { d_curt = Math.Round(d_pwr * 1000 / (Math.Sqrt(3) * d_vlt * d_pf), 1); d_du = Math.Round((Math.Sqrt(3) * d_curt * d_lnth * (Rc * d_pf + d_sin * Xc) / (10 * d_vlt)), 2); } string t_curt = Convert.ToString(d_curt); string t_du = Convert.ToString(d_du); CRT.Add(t_curt); l_dU.Add(t_du); } Но все равно не могу правильно сформировать списки выходных значений CRT и l_dU.
0
|
|
|
7 / 8 / 1
Регистрация: 09.12.2017
Сообщений: 140
|
|
| 26.01.2023, 09:53 | |
|
Где } между if?
0
|
|
| 26.01.2023, 09:53 | |
|
Помогаю со студенческими работами здесь
4
Создать список студентов с оценками по нескольким дисциплинам. Отсортировать список по убыванию среднего балла. Имеющих двойки удалить из списка. Создать список студентов с оценками по нескольким дисциплинам. Отсортировать список по убыванию среднего балла. Имеющих двойки удалить из списка. Как найти нужные значения из ячеек, которые содержат разные данные, по нескольким условиям Как обратиться к нескольким CheckBox в цикле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|