using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; //csc ListT_IComparable_Sort1.cs namespace ConsoleApplication1 { //class ObjectFacotry : IComparable class ObjectFacotry : IComparable { public int empno { get; set; }// Properties public String ename { get; set; } public String job { get; set; } public int manager { get; set; } public String hiredate { get; set; } public double sal { get; set; } public double Comm { get; set; } public int deptno { get; set; } public int CompareTo(ObjectFacotry obj1) { //Console.WriteLine("dept chek point : " + // obj1.deptno +" : emp " + obj1.ename ); return this.deptno.CompareTo(obj1.deptno); } public List cEmp() { Console.WriteLine("factory db point"); return new List { new ObjectFacotry { empno =7369, ename="SMITH ", job="CLERK ", manager= 7902, hiredate="1980-12-17",sal = 800 ,Comm= 00.00 , deptno= 20}, new ObjectFacotry { empno =7499, ename="ALLEN ", job="SALESMAN", manager= 7698, hiredate="1981-02-20",sal = 1600 ,Comm= 300.00 , deptno=30}, new ObjectFacotry { empno =7521, ename="WARD ", job="SALESMAN", manager= 7698, hiredate="1981-02-22",sal = 1250 ,Comm= 500.00 , deptno=30}, new ObjectFacotry { empno =7566, ename="JONES ", job="MANAGER ", manager= 7839, hiredate="1981-04-02",sal = 2975 ,Comm= 00.00 , deptno=20}, new ObjectFacotry { empno =7654, ename="MARTIN ",job="SALESMAN", manager= 7698, hiredate="1981-09-28",sal = 1250 ,Comm= 1400.00, deptno=30}, new ObjectFacotry { empno =7698, ename="BLAKE ",job="MANAGER ", manager= 7839, hiredate="1981-01-05",sal = 2850 ,Comm= 00.00 , deptno= 30}, new ObjectFacotry { empno =7782, ename="CLARK ",job="MANAGER ", manager= 7839, hiredate="1981-06-09",sal = 2450 ,Comm= 00.00 , deptno=10}, new ObjectFacotry { empno =7788, ename="SCOTT ",job="ANALYST ", manager= 7566, hiredate="1987-04-19",sal = 3000 ,Comm= 00.00 , deptno=20}, new ObjectFacotry { empno =7839, ename="KING ",job="PRESIDENT",manager= 0000, hiredate="1981-11-17",sal = 5000 ,Comm= 00.00 , deptno=10}, new ObjectFacotry { empno =7844, ename="TURNER ",job="SALESMAN", manager= 7698, hiredate="1981-09-08",sal = 1500 ,Comm= 00.00 , deptno=30}, new ObjectFacotry { empno =7876, ename="ADAMS ",job="CLERK " , manager= 7788, hiredate="1984-07-13",sal = 1100 ,Comm= 00.00 , deptno= 20}, new ObjectFacotry { empno =7900, ename="JAMES ",job="CLERK " , manager= 7698, hiredate="1981-06-09",sal = 950 ,Comm= 00.00 , deptno=30}, new ObjectFacotry { empno =7902, ename="FORD ",job="ANALYST ", manager= 7566, hiredate="1981-12-03",sal = 3000 ,Comm= 00.00 , deptno=20}, new ObjectFacotry { empno =7934, ename="MILLER ",job="CLERK ", manager= 7782, hiredate="1982-01-23",sal= 1300 ,Comm= 00.00 , deptno= 10}, }; } } class Program { static void Main(string[] args) { ObjectFacotry of1 = new ObjectFacotry(); List elist = of1.cEmp(); elist.Sort(); // error remove class ObjectFacotry : IComparable foreach(var v1 in elist) { Console.WriteLine(v1.deptno + "\t" + v1.empno + " \t" + v1.ename); } // Console.ReadLine(); } } }