当前位置:编程学习 > C#/ASP.NET >>

C#多重泛型如何调用

 

public class ManagerHelper
    {
        public static Dictionary<string, Class> School=new Dictionary<string,Class> ();
    }

-----------------------------------------------------------------------------------


 public class Class
    {
        private string className;

        public string ClassName
        {
            get { return className; }
            set { className = value; }
        }
        private DateTime classStartTime;

        public DateTime ClassStartTime
        {
            get { return classStartTime; }
            set { classStartTime = value; }
        }
        private DateTime classEndTime;

        public DateTime ClassEndTime
        {
            get { return classEndTime; }
            set { classEndTime = value; }
        }
        private Dictionary<int, Student> students;

        public Dictionary<int, Student> Students
        {
            get { return students; }
            set { students = value; }
        }
    }
------------------------------------------------------------------------------------
public class Student
    {
        private int studentNum;

        public int StudentNum
        {
            get { return studentNum; }
            set { studentNum = value; }
        }
        private string studentName;

        public string StudentName
        {
            get { return studentName; }
            set { studentName = value; }
        }
        private string studentSex;

        public string StudentSex
        {
            get { return studentSex; }
            set { studentSex = value; }
        }
        private string studentRace;

        public string StudentRace
        {
            get { return studentRace; }
            set { studentRace = value; }
        }
        private string studentAddress;

        public string StudentAddress
        {
            get { return studentAddress; }
            set { studentAddress = value; }
        }
        private string studentPhone;

        public string StudentPhone
        {
            get { return studentPhone; }
            set { studentPhone = value; }
        }
        private string studentPostaCode;

        public string StudentPostaCode
        {
            get { return studentPostaCode; }
            set { studentPostaCode = value; }
        }
        private string className;

        public string ClassName
        {
            get { return className; }
            set { className = value; }
        }
    }

如何调用这个学生类里的东西呢? 多重泛型 --------------------编程问答-------------------- var dict = new Dictionary<int, Student>();
var student1 = new Student();
student1.xxx = xxx;
...
dict.Add(1, student1);
var student2 = new Student();
student2.xxx = xxx;
...
dict.Add(2, student2);
Class c = new Class();
c.students = dict;
c.xxx = xxx;
...
ManagerHelper.School.Add("某某学校", c); --------------------编程问答-------------------- 关注一下. --------------------编程问答--------------------
引用
var dict = new Dictionary<int, Student>();
var student1 = new Student();
student1.xxx = xxx;
...
dict.Add(1, student1);
var student2 = new Student();
student2.xxx = xxx;
...
dict.Add(2, student2);
Class c = new Class();
c.students = dict;
c.xxx = xxx;
...
ManagerHelper.School.Add("某某学校", c); 

我现在想查询sutdent里面的所有学生信息怎么办呢? --------------------编程问答-------------------- foreach(KeyValuePair<String, Class> school in ManagerHelper.School)
{  
    foreach(KeyValuePair<String, Student> student in school.Students)
    {
       Console.WriteLine(student.StudentNum);
    }
} --------------------编程问答--------------------
不好意思上面失误了,不就就是字典嵌套吧, 和范型有半毛钱关系呀
foreach(KeyValuePair<String, Class> school in ManagerHelper.School)
 {  
     foreach(KeyValuePair<String, Student> student in school.Value.Students)
     {
        Console.WriteLine(student.Value.StudentNum);
     }
 }  --------------------编程问答--------------------
引用 3 楼 u010979281 的回复:
引用
var dict = new Dictionary<int, Student>();
var student1 = new Student();
student1.xxx = xxx;
...
dict.Add(1, student1);
var student2 = new Student();
student2.xxx = xxx;
...
dict.Add(2, student2);
Class c = new Class();
c.students = dict;
c.xxx = xxx;
...
ManagerHelper.School.Add("某某学校", c); 

我现在想查询sutdent里面的所有学生信息怎么办呢?


var query = ManagerHelper.School.SelectMany(x => x.Value.students).Where(x => 条件);
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,