使用LINQ在数组C#中查找重复的最小值

阿特拉斯

我有一个由15名雇员组成的数组,我想在列表框中显示薪水最低的雇员。但是,当我有多于一个低薪员工时,它只打印其中15张。您能告诉我如何打印所有薪水最低的员工吗?代码位于lowerSalaryCheck()方法中。

namespace ProgrammingAssignment
{
    public partial class Form1 : Form
    {
        Employee[] myEmployee = new Employee[15];
        public string theFirst;
        public string theLast;
        public int theID;
        public double theSalary;
        public bool continueLoop;

        public Form1()
        {
            InitializeComponent();
        }

        private void addEmployees()
        {
            do
            {
                try
                {
                    theFirst = Convert.ToString(firstBox.Text);
                    theLast = Convert.ToString(lastBox.Text);
                    theID = Convert.ToInt32(idBox.Text);
                    theSalary = Convert.ToDouble(salaryBox.Text);

                    if (theFirst.Length > 0 && theLast.Length > 0 && theID > 0 && theSalary > 0)
                    {
                        for (int i = 0; i < myEmployee.Length; i++)
                        {
                            Employee emp = new Employee(theFirst, theLast, theID, theSalary);
                            myEmployee[i] = emp;
                        }
                    }
                    continueLoop = false;
                }
                catch (DivideByZeroException dz)
                {
                    Console.WriteLine(dz.Message);
                    Console.WriteLine("Zero is an invalid number.");
                }
                catch (FormatException fe)
                {
                    Console.WriteLine(fe.Message);
                    Console.WriteLine("Please add a valid number.");
                }

            } while (continueLoop);
        }

        private void lowestSalaryCheck()
        {
            var theSal = myEmployee.Min(em => em.yearlySalary);
            var theMin = myEmployee.Where(em => em.yearlySalary == theSal);

            foreach (var emp in theMin)
            {
                string message = string.Format("Lowest Salary: {0} {1} {2} {3}", emp.firstName, emp.lastName, emp.id, theSal);
                lowestList.Items.Add(message);
            }
        }

        private void saveBtn_Click(object sender, EventArgs e)
        {
            addEmployees();
        }

        private void lowestSalary_Click(object sender, EventArgs e)
        {
            lowestSalaryCheck();
        }
    }
}
SándorMátyásMárton

当您添加新的时Employee,您似乎将Employee列表中的所有现有替换为新添加的:

for (int i = 0; i < myEmployee.Length; i++)
{
    Employee emp = new Employee(theFirst, theLast, theID, theSalary);
    myEmployee[i] = emp;
}

每次调用addEmployees函数时,此循环都会运行15次,并将myEmployee数组的每个元素替换为新创建的Employee

我认为,应该使用动态集合,而不是Employee[] myEmployee = new Employee[15];可以使用List<Employee> myEmployee = new ArrayList<Employee>();

然后代替

for (int i = 0; i < myEmployee.Length; i++)
{
    Employee emp = new Employee(theFirst, theLast, theID, theSalary);
    myEmployee[i] = emp;
}

你可以用

Employee emp = new Employee(theFirst, theLast, theID, theSalary);
myEmployee.Add(emp);

之后,您的代码应该可以工作了,因为我看不到您的LINQ查询有问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在数组中查找最小值

来自分类Dev

在数组中查找最小值> 0

来自分类Dev

在数组中查找最小值(Intel8086)

来自分类Dev

在数组中查找最小值(Intel8086)

来自分类Dev

查找值,将其放在数组中,然后在数组VBA中查找最小值

来自分类Dev

在数组C ++中查找最小值/最大值的索引

来自分类Dev

在数组Java中查找最小值和第二最小值

来自分类Dev

在数组中寻找最小值

来自分类Dev

使用C中的函数查找数组中的最大值和最小值

来自分类Dev

使用c#在excel中查找每个月的最小值和最大值

来自分类Dev

在数组中查找最小值和最大值的有效方法

来自分类Dev

在数组Javascript中查找最小值和最大值

来自分类Dev

Java –在数组中查找最小值和最大值

来自分类Dev

在数组中查找最小值和最大值

来自分类Dev

在数组Perl中查找为最大次数的最小值

来自分类Dev

在没有Math.min的情况下在数组中查找最小值

来自分类Dev

在数据表的行中查找最小值

来自分类Dev

在C ++中使用STL在数组中查找最小元素

来自分类Dev

在数组中查找最接近的值使用linq?

来自分类Dev

在数组C Lang中找到数字对的最小值

来自分类Dev

在C ++中查找数组的最小和第二个最小值

来自分类Dev

在 matlab 中查找在数组或矩阵范围内计算的最小值或最大值的索引

来自分类Dev

从数组中查找最小值和最大值,最小值始终为0

来自分类Dev

从数组中查找最小值和最大值,最小值始终为0

来自分类Dev

如何使用numpy在可变长度数组中查找最小值/最大值?

来自分类Dev

从包含对象的数组中查找最小值的最佳方法

来自分类Dev

如何在MIPS中查找数组的最小值

来自分类Dev

JavaScript(在旋转排序数组中查找最小值)

来自分类Dev

查找数组中int数的最小值(Java)

Related 相关文章

  1. 1

    在数组中查找最小值

  2. 2

    在数组中查找最小值> 0

  3. 3

    在数组中查找最小值(Intel8086)

  4. 4

    在数组中查找最小值(Intel8086)

  5. 5

    查找值,将其放在数组中,然后在数组VBA中查找最小值

  6. 6

    在数组C ++中查找最小值/最大值的索引

  7. 7

    在数组Java中查找最小值和第二最小值

  8. 8

    在数组中寻找最小值

  9. 9

    使用C中的函数查找数组中的最大值和最小值

  10. 10

    使用c#在excel中查找每个月的最小值和最大值

  11. 11

    在数组中查找最小值和最大值的有效方法

  12. 12

    在数组Javascript中查找最小值和最大值

  13. 13

    Java –在数组中查找最小值和最大值

  14. 14

    在数组中查找最小值和最大值

  15. 15

    在数组Perl中查找为最大次数的最小值

  16. 16

    在没有Math.min的情况下在数组中查找最小值

  17. 17

    在数据表的行中查找最小值

  18. 18

    在C ++中使用STL在数组中查找最小元素

  19. 19

    在数组中查找最接近的值使用linq?

  20. 20

    在数组C Lang中找到数字对的最小值

  21. 21

    在C ++中查找数组的最小和第二个最小值

  22. 22

    在 matlab 中查找在数组或矩阵范围内计算的最小值或最大值的索引

  23. 23

    从数组中查找最小值和最大值,最小值始终为0

  24. 24

    从数组中查找最小值和最大值,最小值始终为0

  25. 25

    如何使用numpy在可变长度数组中查找最小值/最大值?

  26. 26

    从包含对象的数组中查找最小值的最佳方法

  27. 27

    如何在MIPS中查找数组的最小值

  28. 28

    JavaScript(在旋转排序数组中查找最小值)

  29. 29

    查找数组中int数的最小值(Java)

热门标签

归档