Unity/수업내용(C#)

[3.23] 람다 식을 사용한 List 내의 아이템 추출

ljw4104 2021. 3. 23. 12:34
using System;
using System.Collections.Generic;

namespace Study09
{
    public class App
    {
        public App()
        {
            //컬렉션 생성(Item)
            List<Item> items = new List<Item>();
            Random r = new Random();

            //Item객체 생성 및 컬렉션 추가
            items.Add(new Item("장검", "무기",r.Next(1,11)));
            items.Add(new Item("장검", "무기", r.Next(1, 11)));
            items.Add(new Item("단검", "무기", r.Next(1, 11)));
            items.Add(new Item("창", "무기", r.Next(1, 11)));
            items.Add(new Item("활", "무기", r.Next(1, 11)));
            items.Add(new Item("창", "무기", r.Next(1, 11)));
            items.Add(new Item("갑옷", "방어구", r.Next(1, 11)));
            items.Add(new Item("강철신발", "방어구", r.Next(1, 11)));
            items.Add(new Item("하얀포션", "보조",0));

            //데미지 순서대로 정렬 (오름차순)
            Console.WriteLine("데미지 순서대로 정렬, 오름차순.");
            items.Sort((item1, item2) => item1.damage > item2.damage ? 1 : -1);
            foreach(var item in items)
            {
                Console.WriteLine(item);
            }

            //무기만 찾아서 출력
            Console.WriteLine("\n카테고리가 무기인 아이템만 출력.");
            var foundItem = items.FindAll(item => item.category == "무기");
            foreach(var item in foundItem)
            {
                Console.WriteLine(item);
            }
        }
    }
}