카테고리 없음

0318 indexer

피주빈 2021. 3. 18. 12:59

클래스나 구조체의 인스턴스를 배열처럼 사용

public class Item
    {
        public int Id { get; private set; }
        public string Name { get; private set; }
        public Item(int id,string name) 
        {
            this.Id = id;
            this.Name = name;
        }
    }
public App() 
        {
            Console.WriteLine("App");

            //List<Item> 변수 선언 
            List<Item> list;
            //List<Item> 객체 생성 및 할당 
            list = new List<Item>();

            //Item 객체 생성 
            Item item1 = new Item(100, "장검");
            Item item2 = new Item(105, "단검");
            Item item3 = new Item(102, "활");

            //List<Item> 요수 수 출력 
            Console.WriteLine(list.Count);

            //List에 요소 추가 (indexer)
            //list[0] = item1;
            list.Add(item1);
            list.Add(item2);
            list.Add(item3);

            Console.WriteLine(list.Count);
            //for문으로 요소 출력 (id, name)
            for (int i = 0; i < list.Count; i++) 
            {
                Item item = list[i];
                Console.WriteLine("{0} {1}",item.Id,item.Name);
            }

            Console.WriteLine("----------------");
            //foreach문으로 요소 출력 (id, name)
            foreach (Item item in list) 
            {
                Console.WriteLine("{0} {1}", item.Id, item.Name);
            }
        }