totalpoints = totalpointcalc(totalpoints, credit1.Text, grade1.Text);
totalpoints = totalpointcalc(totalpoints, credit2.Text, grade2.Text);
totalpoints = totalpointcalc(totalpoints, credit3.Text, grade3.Text);
如果你能提供一些见解,谢谢你们。)
答案 0 :(得分:4)
一般来说,只要您拥有名为var1
,var2
,... varN
的变量,就应该使用数组(或列表)。
创建一个数组来存储credit
和grade
控件,然后遍历这些数组:
var credit = new[] { credit1, credit2, credit3 };
var grade = new[] { grade1, grade2, grade3 };
...
for(var i = 0; i < credit.Length; i++)
{
totalpoints = totalpointcalc(totalpoints, credit[i].Text, grade[i].Text);
}
答案 1 :(得分:1)
您可以使用Enumerable.Aggregate
方法使用匿名类型:
var creditGrades = new[]
{
new { credit = credit1.Text, grade = grade1.Text },
new { credit = credit2.Text, grade = grade2.Text },
new { credit = credit3.Text, grade = grade3.Text }
};
var total = creditGrades.Aggregate(0, (i, x) =>
totalpointcalc(i, x.credit, x.grade));