【问题标题】:c#, Limit custom array to only show the highest valuesc#, 限制自定义数组只显示最高值
【发布时间】:2011-04-20 08:17:32
【问题描述】:

我正在尝试编写一个程序,该程序获取五个人的姓名和身高,并显示具有最高身高值的人的姓名和身高。如果有几个人分享最高的高价值,他们应该都被显示出来。

目前我能够打印出我的自定义数组的值,但我不知道如何将打印限制为仅显示最高的高值。

/马蒂亚斯

    public ButtonForm()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    /* *************************************************************************** */

    class Person
    {
        public string Name { get; set; }
        public int Height { get; set; }
    }

    private void Button_Generate_Click(object sender, EventArgs e)
    {

        Person[] persons = { new Person { Name=TextBox_Name1.Text, Height=int.Parse(TextBox_Height1.Text)},
                             new Person { Name=TextBox_Name2.Text, Height=int.Parse(TextBox_Height2.Text) },
                             new Person { Name=TextBox_Name3.Text, Height=int.Parse(TextBox_Height3.Text) },
                             new Person { Name=TextBox_Name4.Text, Height=int.Parse(TextBox_Height4.Text) },
                             new Person { Name=TextBox_Name5.Text, Height=int.Parse(TextBox_Height5.Text) } };

        IEnumerable<Person> query = persons.OrderBy(person => person.Height);

        foreach (Person person in query)
        {
            Console.WriteLine("{0} - {1}", person.Name, person.Height);
        }

    }

    private void groupBox1_Enter(object sender, EventArgs e)
    {

    }

}

}

【问题讨论】:

    标签: c# arrays limit


    【解决方案1】:

    要获得最高的人,只需使用:

    int highest = persons.Max(p => p.Height);
    var query = persons.Where(p => p.Height == highest);
    

    【讨论】:

      【解决方案2】:

      这应该可以解决问题

      int maxHeight = persons.Max(p => p.Height);
      
      var tallestPersons = persons.Where(p => p.Height == maxHeight);
      

      【讨论】:

        【解决方案3】:

        在您的代码中:

            foreach (Person person in query) {
                if(person.Height == query.First().Height) {
                     Console.WriteLine("{0} - {1}", person.Name, person.Height);
                }
            }
        

        【讨论】:

          猜你喜欢
          • 2021-05-18
          • 2015-07-07
          • 1970-01-01
          • 2017-01-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多