미처 완성되지 못한 알고리즘

인터페이스 예제 본문

IT/c#

인터페이스 예제

-June- 2017. 9. 20. 18:55

    public class Student

    {

        public int m_num { get; set; }

        public string m_name { get; set; }

    }


    public class StudentList

    {

        public List<Student> m_list = new List<Student>();

        Ascending m_sortAscending = new Ascending();

        Descending m_sortDescending = new Descending();

        public int count { get { return m_list.Count; } }

        public void Add(Student friend) { m_list.Add(friend); }

        public void Clear() { m_list.Clear(); }

        public void SortAscending() { m_list.Sort(m_sortAscending); }

        public void SortDescending() { m_list.Sort(m_sortDescending); }

     public class Ascending : IComparer, IComparer<Student>

        {

            public int Compare(Student x, Student y)

            {

                return x.m_num.CompareTo(y.m_num);

            }

            public int Compare(object x, object y)

            {

                return Compare((Student)x, (Student)y);

            }

        }

        public class Descending : IComparer, IComparer<Student>

        {

            public int Compare(Student x, Student y)

            {

                return y.m_num.CompareTo(x.m_num);

            }

            public int Compare(object x, object y)

            {

                return Compare((Student)x, (Student)y);

            }

        }


    }

'IT > c#' 카테고리의 다른 글

Action과 Func의 차이  (0) 2017.09.25
람다식 예  (0) 2017.09.25
다중 인터페이스 상속 시 중복 메소드 처리 방법.  (0) 2017.09.19
상속 시 생성자 호출 순서  (0) 2017.09.18
event내부 구조 및 예제  (0) 2017.09.12