创建一种使4个家庭成员的年龄增加1的方法

时间:2018-10-06 18:49:23

标签: c# methods parameter-passing

我正在尝试创建一种使家庭年龄增加一倍的方法。对我来说,将参数传递给方法非常困难,尤其是对于这个问题。我相信这样做有更好的方法,但这是唯一可以想到的方法。在他们的年龄增加一之后,我目前很难将所有四个家庭的年龄显示在一个标签中。这是我目前拥有的:

// Create a method using the increment operator that increates the age of 4 family members by 1
private void TotalAge (int age1/*, int age2, int age3, int age4*/)
{
    age1++;
   /* age2++;
    age3++;
    age4++; */
}

private void calculateButton_Click(object sender, EventArgs e)
{
    // Variables to hold family member ages 
    int member1 = 0, member2 = 0, member3 = 0, member4 = 0;

    // Conver the ages into a string, using tryparse method
    if (int.TryParse(ageTextBox1.Text, out member1))
    {
        if (int.TryParse(ageTextBox2.Text, out member2))
        {
            if (int.TryParse(ageTextBox3.Text, out member3))
            {
                if (int.TryParse(ageTextBox4.Text, out member4))
                {
                    displayAge.Text = Convert.ToString(TotalAge(member1))
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您应该创建一个FamilyMember类,该类将包含家庭成员的所有属性(年龄,姓名等),然后您只需将家庭成员的列表或数组传递给将在其中递增的函数1数组中每个FamilyMember的年龄。

Public class FamilyMember 
{
    public string Name {private set; get;}
    public int Age { private set; get; }

    public FamilyMember(string name, int age)
        {
            Name = name;
            Age = age;
        }
    public void IncrementAge()
    {
        Age++;
    }
}

Public void IncrementAgeOfFamilyMembers(List<FamilyMember> FamilyMembers)
{
     foreach (var fmember in FamilyMembers)
         fmember.IncrementAge();
}

如果您希望它恰好适合4个家庭成员,只需将List<FamilyMember>更改为FamilyMember[4](但是您应该检查是否为空)