static void Main(string[] args) { Singer[] singers = new Singer[5] { new Singer("아이유", 28, 8), new Singer("자우림", 40, 5), new Singer("거미", 35, 5), new Singer("이승철", 50, 15), new Singer("태진아", 65, 5) }; foreach (Singer sing in singers) { Console.WriteLine(sing.ToString()); } Console.WriteLine("======================================"); Console.WriteLine(); Array.Sort(singers); //나이로 정렬 foreach (Singer sing in singers) { Console.WriteLine(sing.ToString()); } Console.WriteLine("======================================"); Console.WriteLine(); SingerNameComparer nameComparer = new SingerNameComparer(); Array.Sort(singers, nameComparer); foreach (Singer sing in singers) { Console.WriteLine(sing.ToString()); } }
public int CompareTo(object obj) //IComparable 인ㅌ페이스 구현 하면 나오는 CompareTo 메서드 { #region 나이 기준 //나이가 크면 1, 나이가 작으면 -1, 나이가 같으면 0 Singer sing = obj as Singer; if (sing == null) { return(0); } if (this.Age > sing.Age) { //return 1; // 오름차순 return(-1); // 내림차순 1이면 바꾸고 -1이면 안바꾸고 } else if (this.Age < this.Age) { //return -1; //오름차순 return(1); //내림차순 } else { return(0); } #endregion }
public int CompareTo(object obj) { //나이가 크면 1, 작으면 -1, 같으면 0 Singer sing = obj as Singer; if (this.Age > sing.Age) { return(-1); } else if (this.Age < sing.Age) { return(1); } else { return(0); } }
public int CompareTo(object obj)// IComparable { //나이가 크면 1 나이가 적으면 -1 나이가 같으면 0 Singer sing = obj as Singer; if (this.Age > sing.Age) { return(1); //역순 -1 } else if (this.Age < sing.Age) { return(-1); //역순 1 } else { return(0); } }
public int Compare(object x, object y) //문자열은 크다작다가 없기 때문에. { //이름이 크면 1, 작으면 -1, 같으면 0 Singer first = x as Singer; Singer second = y as Singer; if (first.Name.CompareTo(second.Name) == 1) { return(1); } else if (first.Name.CompareTo(second.Name) == -1) { return(-1); } else { return(0); } }
public int Compare(object x, object y) //IComparer { //이름가 크면 1 이름가 적으면 -1 이름가 같으면 0 Singer first = x as Singer; Singer second = y as Singer; if (first.Name.CompareTo(second.Name) == 1) { return(1); //역순 -1 } else if (first.Name.CompareTo(second.Name) == -1) { return(-1); //역순 1 } else { return(0); } }
public int Compare(object x, object y) { //이름이 크면 1, 이름이 작으면 -1, 이름이 같으면 0 Singer first = x as Singer; Singer secend = y as Singer; if (first.Name.CompareTo(secend.Name) == 1) { return(1); } else if (first.Name.CompareTo(secend.Name) == -1) { return(-1); } else { return(0); } }
public int Compare(object x, object y) // Compare는 인자가 두개 { //나이가 크면 1, 나이가 작으면 -1, 나이가 같으면 0 Singer first = x as Singer; Singer second = y as Singer; if (first.Name.CompareTo(second.Name) == 1) { return(1); // 오름차순 } //return -1; // 내림차순 1이면 바꾸고 -1이면 안바꾸고 else if (first.Name.CompareTo(second.Name) == -1) { return(-1); //오름차순 } //return 1; //내림차순 else { return(0); } }
public int CompareTo(object obj) { Singer sing = obj as Singer; if (sing == null) { return(0); } if (this.Age > sing.Age) { return(-1); } else if (this.Age < sing.Age) { return(1); } else { return(0); } }
static void Main(string[] args) { Singer[] singers = new Singer[5] { new Singer("아이유", 28, 8), new Singer("자우림", 40, 5), new Singer("거미", 35, 5), new Singer("이승철", 50, 15), new Singer("태진아", 65, 5) }; while (true) { Console.Write("1. 목록보기 2. 나이 오름차순정렬 3. 나이 내림차순정렬 4. 이름 오름차순정렬 5. 나이 내림차순정렬 "); int s = Convert.ToInt32(Console.ReadLine()); SingerNameComparer nameComparer = new SingerNameComparer(); switch (s) { case 1: Console.WriteLine(); for (int a = 0; a < singers.Length; a++) { Console.WriteLine(singers[a].ToString()); } Console.WriteLine("======================================"); // 이름 Console.WriteLine(); break; // 목록출력 case 2: //foreach (Singer sing in singers) //{ // Console.WriteLine(sing.ToString()); //} Console.WriteLine(); object[] singer1 = (object[])singers.Clone(); Array.Sort(singer1); foreach (Singer sing in singer1) { Console.WriteLine(sing.ToString()); } Console.WriteLine("======================================"); // 이름 Console.WriteLine(); break; case 3: //foreach (Singer sing in singers) //{ // Console.WriteLine(sing.ToString()); //} Console.WriteLine(); Array.Sort(singers, nameComparer); // 이름으로 정렬 foreach (Singer sing in singers) { Console.WriteLine(sing.ToString()); } Console.WriteLine("======================================"); // 이름 Console.WriteLine(); break; case 4: //foreach (Singer sing in singers) //{ // Console.WriteLine(sing.ToString()); //} Console.WriteLine(); Array.Sort(singers); foreach (Singer sing in singers) { Console.WriteLine(sing.ToString()); } Console.WriteLine("======================================"); // 나이 Console.WriteLine(); break; case 5: //foreach (Singer sing in singers) //{ // Console.WriteLine(sing.ToString()); //} Console.WriteLine(); Array.Sort(singers, nameComparer); // 이름으로 정렬 foreach (Singer sing in singers) { Console.WriteLine(sing.ToString()); } Console.WriteLine("======================================"); // 이름 Console.WriteLine(); break; } } }