将一个类对象分配给另一个类属性 [英] Assigning one class object to another class property

查看:101
本文介绍了将一个类对象分配给另一个类属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是.Net的新手。我们有一个任务构建到类Department,Employee。在Department中,有两个属性DeptId,DeptName。在Employee中,有四个属性EmpId,EmpName,EmpSalary,Department of object。因此,部门类值将自动绑定到员工类。我们需要在收集的帮助下填充字段值。

我们尝试过这样的。

Hi, I am new to .Net. We have a task to build to classes Department, Employee. In Department, two properties DeptId,DeptName. In Employee, four properties EmpId,EmpName,EmpSalary , object of Department. So that department class values will get automatically bounded to employee class. We need to populate field values with help of collections.
We tried like this.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace employee
{
    public class Department
    {
        public int deptId { get; set; }
        public string deptName { get; set; }
    }
    public class Employee
    {
        private employee.Department dept;

        public Employee(employee.Department dept)
        {
            // TODO: Complete member initialization
            this.dept = dept;
        }
        public int empId { get; set; }
        public string empName { get; set; }
        public int emPSalary { get; set; }
        public Department Department { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList list = new ArrayList();
            Department dept = new Department();
            dept.deptId = 1;
            dept.deptName = "IT";
            list.Add(dept);
            dept = new Department();
            dept.deptId = 2;
            dept.deptName = "HR";
            list.Add(dept);
            ArrayList list1 = new ArrayList();
            Employee emp = new Employee(dept);
            emp.empId = 100;
            emp.empName = "anusha";
            emp.emPSalary = 10000;
            emp.Department = dept;
            list1.Add(emp);
            emp = new Employee(dept);
            emp.empId = 101;
            emp.empName = "usha";
            emp.emPSalary = 20000;
            emp.Department = dept;
            list1.Add(emp);

            var query = from Employee employee in list1
                        where employee.empId == 100
                        select employee;
            foreach(Employee e in query)
            {
                Console.WriteLine(e.empId+""+e.empName +" "+e.emPSalary+""+e.Department+"");

                Console.ReadLine();
            }
            
        }
    }
}





F10key我们只获得部门类的第二个值,即员工emp =新员工(部门)的DeptId = 2;



任何输入..

谢谢

Sindhu



While debuging with F10key we are getting only second values of department class i.e DeptId=2 at Employee emp = new Employee(dept);.

Any Input..
Thanks
Sindhu

推荐答案

Department dept = new Department();
dept.deptId = 1;
dept.deptName = "IT";
list.Add(dept);
dept = new Department();
dept.deptId = 2;
dept.deptName = "HR";
list.Add(dept);



这些行之后 dept 的值为2和'HR' !

后来你使用 dept 而不是你在数组中存储的内容!


After these lines dept has values 2 and 'HR'!
And later you use dept and not the what you stored in the array!

emp.Department = dept;



所以机器人员工在同一个部门工作!


So bot employee works at the same department!


这篇关于将一个类对象分配给另一个类属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆