-2

我有一个如下列表:

List<Teacher> _teacher= new List<Teacher>();

老师有以下领域:

public class Teacher
{
    public string name{ get; set; }
    public string age{ get; set; }
    public string basic{ get; set; }
    public string hra{ get; set; }

   }  

另一个列表如下:

List<Salary> _salary= new List<Salary>();

工资有以下字段:

public class Salary
{
    public string basic{ get; set; }
    public string hra{ get; set; }
} 

在特定情况下,List Teacher 仅填充姓名和年龄。我需要从工资列表中填充教师列表中的基本和 hra。我怎样才能做到这一点?

4

3 回答 3

2
 salary.AddRange(teachers.Select(s=>new Salary{Basic=s.Basic, hra=s.hra}));
于 2012-11-06T06:15:06.967 回答
1

相信你有一个list ofTeacher和一个list,Salary你需要把工资的详细信息推送到Teacher班级的相关字段中。

我认为您可以通过遍历 Teacher 类来实现这一点,然后访问该特定索引处的 Salary 列表,然后分配这些值。(我希望两个列表的计数相同,否则您将需要某种方式来确定如何映射这些值)

这些线上的东西

for (int indx = 0; indx < lstdevelop.Count; indx++)
{
     lstTeacher[indx].Basic = lstSalary[indx].Basic;
     //
}

此外,最好使用正确的数据类型,而不是将它们全部作为string,与金钱相关的东西坚持decimal

于 2012-11-06T06:34:01.063 回答
0

可能你可以像这样根据教师水平设置他们的薪水

    列表 _teacher = 新列表();
    列表_salary = new List();

    //填充工资以供以后使用
    _salary.Add(new Salary { basic = "300", hra = "400", level = "1" });
    _salary.Add(new Salary { basic = "500", hra = "700", level = "2" });

    _teacher.Add(新老师{
        name = "老师 1",
        年龄=“34”,
        级别=“1”,
        basic = _salary.Single(p=>p.level == "1").basic, //根据老师的水平设置basic和hra
        hra = _salary.Single(p=>p.level == "1").hra,
    });

    _teacher.Add(新老师
    {
        name = "老师 2",
        年龄=“47”,
        级别=“2”,
        basic = _salary.Single(p => p.level == "2").basic, //根据老师的水平设置basic和hra
        hra = _salary.Single(p => p.level == "2").hra,
    });

    foreach(_teacher 中的教师 t)
        Console.WriteLine(t.name + ", "+t.age + ", " +t.basic + ", " + t.hra);

于 2012-11-06T07:15:42.037 回答