-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 に名前と年齢のみが入力されています。給与リストから教師リストに basic と 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

のリストTeacherとのリストがあり、給与の詳細をクラス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 = 新しいリスト();
    List _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, //教師のレベルに基づいて基本と時間の設定
        hra = _salary.Single(p=>p.level == "1").hra,
    });

    _teacher.Add(新しい先生
    {
        name = "先生 2",
        年齢=「47」、
        レベル = "2",
        basic = _salary.Single(p => p.level == "2").basic, //教師のレベルに基づいて基礎と時間数を設定
        hra = _salary.Single(p => p.level == "2").hra,
    });

    foreach (Teacher t in _teacher)
        Console.WriteLine(t.name + ", "+t.age + ", " +t.basic + ", " + t.hra);

于 2012-11-06T07:15:42.037 に答える