Проблема Нужно разобраться как упростить нажатие кнопки (Цикл For) C# Xamarin.Forms

N

NHP©

Доброго времени суток, помогите с упрощением функции.
Я уже многими способами пытался упростить и вот пару попыток:
Попытка 1:
C#:
void OnButtonClicked(object sender, EventArgs e) // Нажатие на кнопку
        {
            for (int numb=0; numb <= 4; numb++){
            if (string.IsNullOrWhiteSpace("Entry" + numb.ToString() + ".Text"))
            {
                Label1.Text = "Error)";
            }
            else
            {
                Label1.Text = "Ответ: " + Formula(double.Parse("Entry" + numb.ToString() + ".Text")) + "K";
            }
            }
        }
Попытка 2:
C#:
void OnButtonClicked(object sender, EventArgs e) // Нажатие на кнопку
        {
            for (int numb=0; numb <= 4; numb++){
            if (string.IsNullOrWhiteSpace(Entry[numb.ToString()].Text))
            {
                Label1.Text = "Error";
            }
            else
            {
                Label1.Text = "Ответ: " + Formula(double.Parse(Entry[numb.ToString()].Text)) + "K";
            }
            }
        }
Пока работает так:
C#:
void OnButtonClicked(object sender, EventArgs e) // Нажатие на кнопку
        {
            string pusto = "Error";
            if (string.IsNullOrWhiteSpace(Entry1.Text))
            {
                Label1.Text = pusto;
            }
            else
            {
                Label1.Text = "Ответ: " + Formula(double.Parse(Entry1.Text)) + "K";
            }
            if (string.IsNullOrWhiteSpace(Entry2.Text))
            {
                Label2.Text = pusto;
            }
            else
            {
                Label2.Text = "Ответ: " + Formula(double.Parse(Entry2.Text)) + "K";
            }
            if (string.IsNullOrWhiteSpace(Entry3.Text))
            {
                Label3.Text = pusto;
            }
            else
            {
                Label3.Text = "Ответ: " + Formula(double.Parse(Entry3.Text)) + "K";
            }
            if (string.IsNullOrWhiteSpace(Entry4.Text))
            {
                Label4.Text = pusto;
            }
            else
            {
                Label4.Text = "Ответ: " + Formula(double.Parse(Entry4.Text)) + "K";
            }
        }
 
C#:
var entries = new[] { Entry1, Entry2, Entry3, Entry4 };
var labels = new[] { Label1, Label2, Label3, Label4 };
for(var i = 0; i < entries.Length && i < labels.Length; i++)
{
    labels[i].Text = string.IsNullOrWhiteSpace(entries[i].Text)
        ? "Error"
        : "Ответ: " + Formula(double.Parse(entries[i].Text)) + "K";
}
 
Последнее редактирование:
  • Нравится
Реакции: Egolds
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab