Проблема Нужно разобраться как упростить нажатие кнопки (Цикл 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";
            }
        }
 

Figase

One Level
02.08.2019
1
1
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
Мы в соцсетях: