본문 바로가기
C#/수업내용

[ C# 8일차 ] Collections_ArrayList

by 왹져박사 2023. 1. 10.
728x90

object 형식으로 박싱되어

원래의 데이터 형식으로 명시적 형변환 필요. 

 

App Class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace Study09
{
    class App
    {
        ArrayList list;     //변수 정의

        //생성자
        public App()
        {
            Console.WriteLine("App");

            //모든 컬렉션을 사용하기 위해서는
            //먼저 인스턴스를 생성해야 한다
            list = new ArrayList();     //인스턴스를 반드시 생성하자
            list.Add("홍길동");        //추가
            list.Add(1);        //1->object     값형식을 힙에 저장. 박싱
                                //가져올 때 (언박싱) 명시적 형변환 해야 함 (int)
            list.Add(true);
            list.Add(new Hero());


            string name = list[0].ToString();
            Console.WriteLine(name);

            int num = (int)list[1];
            bool b = (bool)list[2];
            //Hero hero = (Hero)list[3];
            Hero hero = list[3] as Hero;

            for(int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i]);
            }

            foreach(object element in list)
            {
                Console.WriteLine(element);
            }
        }
    }
}
728x90