본문 바로가기

C#/수업 내용

람다식 연습 15 (Comparision)

using System;
using System.Collections.Generic;   //제너릭 컬렉션 사용전 선언
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HelloWorld
{
    class App
    {
        //생성자
        public App()
        {
            Player player0 = new Player("홍길동", 32000);
            Player player1 = new Player("임꺽정", 600);
            Player player2 = new Player("김길동", 2700);
            Player player3 = new Player("장길산", 48900);
            Player player4 = new Player("홍길산", 1200);

            List<Player> list = new List<Player>();
            list.Add(player0);
            list.Add(player1);
            list.Add(player2);
            list.Add(player3);
            list.Add(player4);

            Comparison<Player> compare = (a, b) =>
            {
                if (a.score > b.score) return -1;
                else if (a.score < b.score) return 1;
                else return 0;
            };

            list.Sort(compare);

            int ranking = 1;
            foreach (Player player in list)
            {
                Console.WriteLine("{0}위 {1} {2}", ranking++, player.name, player.score);
            }
        }
    }
}

 

1~3위는 키순으로 4,5위는 점수

using System;
using System.Collections.Generic;   //제너릭 컬렉션 사용전 선언
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HelloWorld
{
    class App
    {
        //생성자
        public App()
        {
            Player player0 = new Player("홍길동", 32000, 182.1f);
            Player player1 = new Player("임꺽정", 600, 168f);
            Player player2 = new Player("김길동", 2700, 180.7f);
            Player player3 = new Player("장길산", 48900, 178.5f);
            Player player4 = new Player("홍길산", 1200, 169f);

            List<Player> list = new List<Player>();
            list.Add(player0);
            list.Add(player1);
            list.Add(player2);
            list.Add(player3);
            list.Add(player4);

            

            Comparison<Player> compare2 = (a, b) =>
            {
                if (a.height > b.height) return -1;
                else if (a.height < b.height) return 1;
                else return 0;
            };
            list.Sort(compare2);
            int ranking = 1;

            foreach (Player player in list)
            {
                if (ranking < 4)
                {
                    Console.WriteLine("{0} {1} {2} {3}", ranking++, player.name, player.height, player.score);
                }
                else if (ranking >= 4)
                {
                    Comparison<Player> compare = (a, b) =>
                    {
                        if (a.score > b.score) return -1;
                        else if (a.score < b.score) return 1;
                        else return 0;
                    };

                    list.Sort(compare);
                    Console.WriteLine("{0} {1} {2}", ranking++, player.name, player.score);
                }
            }
        }
    }
}

'C# > 수업 내용' 카테고리의 다른 글

파일 읽기, 역직렬화 연습 2  (0) 2021.12.24
파일 읽기, 역직렬화 연습  (0) 2021.12.24
람다식 연습 8 (Action)  (0) 2021.12.24
람다식 연습 7 (Func) - 피자  (0) 2021.12.24
람다식 연습 6 (Func) 난수생성  (0) 2021.12.24