C#/연습장

Queue<T> 연습

Game Client Lee Hwanguk 2023. 1. 10. 16:02
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study10
{
    internal class App
    {
        
        
        public App()
        {

            //제너릭 List연습 ,stack,Queue,dictionaly
            //List인스턴스 생성
            //Add
            //Contains
            //단일 요소값 가져오기
            //Remove
            //Count
            //for
            //foreach

            //Qeue인스턴스생성
            //Add
            //단일요소 가져오기 peek Dequeue


            //1.Queue인스턴스 만들기
            Queue<Weapon> que=new Queue<Weapon>(); //Queue 인스턴스를 먼저 만들고
            Weapon weapon0 = new Weapon("권총"); //매개변수를 쓰는 인스턴스를 만들자

            //2.Add 기능 확인해보기
            que.Enqueue(weapon0); //만들어진 인스턴스"권총" que 에 할당
            que.Enqueue(weapon0);
            Console.WriteLine(que.Count); //갯수 확인 

            //Console.WriteLine(que[0].name); //들어있는 이름도 확인해보자 (index를 이용한 단일 요소값)
            //que는 인덱스로 접근할수 없다. 다른방법 Peek 를 사용해서 확인해보자

            Weapon peek=que.Peek(); //가장 안쪽(먼저들어간 값) 부터 꺼낸다.
            Console.WriteLine(peek.Name); //꺼내진 값의 name을 확인해보자

            Console.WriteLine(que.Count); //peek로 꺼냈다고 없어진건 아닌가보다 갯수는 그대로다

            Weapon dequeweapon=que.Dequeue(); //peek와 다르게 꺼내고 없애버린다. 확인하려면 변수에 담아서 확인해보자
            Console.WriteLine(dequeweapon.Name); //변수에 담긴 개체의 이름을 확인했다

            Console.WriteLine(que.Count); //바뀐 용량을 확인해보자

            //인덱스에 접근할수없으니 for문은 사용 불가, foreach를 사용해보자
            Console.WriteLine();
            foreach(Weapon weapon in que)
            {
                Console.WriteLine(weapon.Name); // 확인가능하다 이걸로 확인해야겠다
            }

        }
    }
}