2014년 8월 27일 수요일

[닷넷강좌교육, C#객체/배열정렬, Array.Sort, IComparable을 이용하여 배열Sort하기]

[닷넷강좌교육, C#객체/배열정렬, Array.Sort, IComparable을 이용하여 배열Sort하기]

using System;
class User : IComparable
{
    public string Name
    {
        get;
        set;
    }

    public int Age
    {
        get;
        set;
    }

    public User(string name, int age)
    {
        Name = name;
        Age = age;
    }
    // implement IComparable interface
    public int CompareTo(object obj)
    {
        if (obj is User)
        {
            return this.Name.CompareTo((obj as User).Name);  // compare user names
        }
        throw new ArgumentException("Object is not a User");
    }
}


class SortTest
{
    static void Main(string[] args)
    {
        User[] users =  { new User("LEE", 23),  // name, age
                             new User("KIM", 20),
                             new User("PARK", 25) };
        Array.Sort(users);
        foreach (User u in users) Console.WriteLine(u.Name + u.Age); 
    }
}


[결과]

KIM20
LEE23
PARK25

댓글 없음:

댓글 쓰기