有一段代码, 模拟了互为关系的2个对象该如何向用户展示这样的数据呢?大家可以用VS调试,在快速监视里.看一下数据结构.当这个数据 是从对象型数据库取出来的时候 如何进行处理并展示给用户?
namespace test2
{
    class Program
    {
        static void Main(string[] args)
        {
            Class _Class = new Class();
            _Class._Student = new Student[] { 
                new Student("张三", _Class),
                new Student("李四", _Class),
                new Student("王五", _Class), };
        }
    }    public class Student
    {
        public string _Name;
        public Class _Class;        public Student(){}        public Student(string _Name, Class _Class)
        {
            this._Name = _Name;
            this._Class = _Class;
        }
    }    public class Class
    {
        public Student[] _Student;        public Class(){}        public Class(Student[] _Student)
        {
            this._Student = _Student;
        }
    }
}
肯定有个深度问题. 关键是如何处理这个深度.纯属自己没事散分. 大家可以随便发言.

解决方案 »

  1.   

    那个~~也就一个实体类+一个集合类吧~不知道你说的深度是什么~
    以你的定义,用GridView展示出来就好了。
      

  2.   

    如果要展示每个对象的每个属性呢?不设置个展示深度 那要无限展示下去直到资源耗尽?可以在VS里调试一下 快速监视局部变量_Class内的值 就知道我说什么了.
      

  3.   

    也就是Student里外加一个Student的子集。一般这种情况。默认显示一级,或者2级,外加提供额外的展开按钮,异步掉下一层显示出来。
      

  4.   

    你做一个树 当节点展开的时候才去获取属性 显示不就可以了..每次只获取当前属性..对于子对象.当节电展开的时候才去获取.或则你发现子类的属性已经在树上显示了就不再继续不就可以了? 如果你非要深度那可以获取到object就算完毕了,另外判断是否有子类有父类的引用就可以了.并不会出现非常深的概念.
      

  5.   


    Class类里字段就是Student类数组。也可使用
    Lit<Student> lst=new Lit<Student>();构建实体类集合
    设置深度可在Student里嵌套其他实体类