C# 链接组合框和并行数组

C# 链接组合框和并行数组,c#,C#,我需要帮助链接或映射组合框到C#中的并行数组。我有一个类项目,我需要创建一个工资系统,显示税后净工资 我想将包含工资单所需的所有员工信息的并行数组链接到组合框中选择的选项。我觉得我几乎拥有了它,但我不知道如何将从组合框中选择的选项与我设置的并行阵列链接起来 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using Syst

我需要帮助链接或映射组合框到C#中的并行数组。我有一个类项目,我需要创建一个工资系统,显示税后净工资

我想将包含工资单所需的所有员工信息的并行数组链接到组合框中选择的选项。我觉得我几乎拥有了它,但我不知道如何将从组合框中选择的选项与我设置的并行阵列链接起来

   using System;
   using System.Collections.Generic;
   using System.ComponentModel;
   using System.Data;
   using System.Drawing;
   using System.Linq;
   using System.Text;
   using System.Threading.Tasks;
   using System.Windows.Forms;

   namespace ZNSPayrollSystem
   {
       public partial class ZNSPayrollSystem : Form
       {

           public ZNSPayrollSystem()
            {
                InitializeComponent();

                string[] arr = { "001 Peters", "002 Barnes", "003 Harris" };
                cboEmp.DataSource = arr.ToArray();

            }

            private void btnCalc_Click(object sender, EventArgs e)
            {
                //parallel arrays         
                int[] empID = { 001, 002, 003 };
                string[] empName = { "James Peters", "Sarah Barnes", "Candice Harris" };
                double[] hrsWorked = { 40, 40, 40 };
                double[] empWage = { 55.50, 65.50, 75.70 };

                //declarations
                double dblTaxRate = 8.2 / 100;
                double dblNetPay;
                double dblGrossPay;
                double dblTaxWithheld;

                dblGrossPay = hrsWorked[] * empWage[];
                dblTaxWithheld = dblGrossPay * dblTaxRate;
                dblNetPay = dblGrossPay - dblTaxWithheld;

                txtGross.Text = dblGrossPay.ToString();
                txtTax.Text = dblTaxWithheld.ToString();
                txtNetPay.Text = dblNetPay.ToString();

            }
        }
    }

使用组合框的
SelectedIndex
属性:

int i = cboEmp.SelectedIndex;

if (i != -1)
{
    dblGrossPay = hrsWorked[i] * empWage[i];
}

i==-1
表示未选择任何内容。您可能希望单独处理此问题以避免出现任何异常。

使用组合框的
SelectedIndex
属性:

int i = cboEmp.SelectedIndex;

if (i != -1)
{
    dblGrossPay = hrsWorked[i] * empWage[i];
}

i==-1
表示未选择任何内容。您可能希望单独处理此问题以避免出现任何异常。

创建一个具有ID、姓名、工时和工资属性的
Employee
类不是更好吗?然后有一个数组或
列表
?它允许您将所有员工数据保存在一起,而不必处理4个不同的数组。@itsme86是一个课堂/家庭作业。可能还没有找到对象或列表。@itsme86感谢您的回答,ya Trispid是对的,我们还没有在课堂上学会如何做。我会翻阅我的书,看看我是否能学会如何做。创建一个
Employee
类,该类具有ID、姓名、小时数和工资等属性,这样做不是更好吗?然后有一个数组或
列表
?它允许您将所有员工数据保存在一起,而不必处理4个不同的数组。@itsme86是一个课堂/家庭作业。可能还没有找到对象或列表。@itsme86感谢您的回答,ya Trispid是对的,我们还没有在课堂上学会如何做。我会翻阅我的书,看看我是否能学会如何做到这一点只是别忘了添加一个条件,确保i>-1(如果没有选择任何内容)。@Sergey SlepovThanks,这看起来正是我需要的。我知道我只是忽略了一些简单的事情。这消除了所有错误,但是当我运行程序时,当我单击Calc按钮时,文本框中不会弹出任何内容。现在我必须想办法解决这个问题。谢谢你快速的回答,没错只是别忘了添加一个条件,确保i>-1(如果没有选择任何内容)。@Sergey SlepovThanks,这看起来正是我需要的。我知道我只是忽略了一些简单的事情。这消除了所有错误,但是当我运行程序时,当我单击Calc按钮时,文本框中不会弹出任何内容。现在我必须想办法解决这个问题。谢谢你快速的回答。