Есть ли способ добавить несколько переменных вместе без неявного объявления - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть 23 переменные типа int, которые получают назначенное значение при загрузке формы, есть ли ярлык для добавления их вместе без неявного добавления. IE VarAns = Var1 + Var2 + Var3 .... + Var 23.

 MathsGrp1 = Convert.ToInt32(textBoxMathsGrp1.Text);
        MathsGrp3 = Convert.ToInt32(textBoxMathsGrp3.Text);
        MathsGrp2 = Convert.ToInt32(textBoxMathsGrp2.Text);
        MathsGrp4 = Convert.ToInt32(textBoxMathsGrp4.Text);
        EnglishGrp1 = Convert.ToInt32(textBoxEnglishGrp1.Text);
        EnglishGrp2 = Convert.ToInt32(textBoxEnglishGrp3.Text);
        EnglishGrp3 = Convert.ToInt32(textBoxEnglishGrp2.Text);
        EnglishGrp4 = Convert.ToInt32(textBoxEnglishGrp4.Text);
        Construction = Convert.ToInt32(textBoxConstruction.Text);
        PSD = Convert.ToInt32(textBoxPSD.Text);
        Careers = Convert.ToInt32(textBoxCareers.Text);
        ASDAN = Convert.ToInt32(textBoxASDAN.Text);
        Music = Convert.ToInt32(textBoxMusic.Text);
        Spare = Convert.ToInt32(textBoxSpare.Text);
        Art = Convert.ToInt32(textBoxArt.Text);
        Science = Convert.ToInt32(textBoxScience.Text);
        PEGrp1 = Convert.ToInt32(textBoxPEGrp1.Text);
        PEGrp2 = Convert.ToInt32(textBoxPEGrp2.Text);
        ICT = Convert.ToInt32(textBoxICT.Text);
        HairDressing = Convert.ToInt32(textBoxHairDressing.Text);
        CookingGrp1 = Convert.ToInt32(textBoxCookingGrp1.Text);
        CookingGrp2 = Convert.ToInt32(textBoxCookingGrp2.Text);
        CookingGrp3 = Convert.ToInt32(textBoxCookingGrp3.Text);
        // int Check =  insert Long list of variables here

PS Я знаю, что есть лучший способ инициализации и преобразования строк текстового поля в целые числа, но я хочу, чтобы это было просто.

Ответы [ 2 ]

0 голосов
/ 10 февраля 2020
 public void Function()
  {
     List<int> Collection = new List<int>();
     Collection.Add(1);
     Collection.Add(2);
     Collection.Add(3);
     Collection.Add(7);
     Collection.Add(9);
     Collection.Add(5);
     Collection.Add(25);

     foreach (int Elem in Collection)
     {
        int Result = 0;
        Result = Result + Elem;
     }
  }
0 голосов
/ 10 февраля 2020

Как упомянуто выше @SLaks, используйте коллекцию или элементы управления от l oop до Page при использовании веб-форм ...

Этого может быть достаточно для начала работы?

int check = 0;
foreach(var ctrl in Page.Controls) {
    if (ctrl is TextBox) {
        check += Convert.Int32((TextBox)ctrl).Text) ?? 0;
    }
}
...