본문 바로가기

C#

C# 문법- List<T>/ArrayList

반응형

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Runtime.Remoting;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public List<Customer> Customers = new List<Customer>();

        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            Customer CUS = new Customer();
            
        }
        private void button1_Click(object sender, EventArgs e)
        {
            ArrayList arrayList = new ArrayList();
            arrayList.Add(0);
            arrayList.Add(1);
            arrayList.Add(3);

            arrayList.Insert(2, 2);

            arrayList.Remove(2);
            arrayList.RemoveAt(1);
            int sum = 0;
            for (int i = 0; i < arrayList.Count; i++)
            {
               int num = (int) arrayList[i]; //object 타입이라 형변환해줘야함
                sum =+ num;
            }
            List<int> generic = new List<int>();

            generic.Add(1);
            generic.Add(2);
            generic.Add(3);
            /*generic.Add("하이");*/ // int 로 고정해버려서 불가능
            int sum1 = 0;
            for (int i = 0; i < generic.Count; i++)
            {
                int value = generic[i];
                sum1 = sum1 + value;
            }
            //형변환을 하면 할 수 록 컴파일 속도가 느려진다. 

            foreach (var item in generic ) // 갯수 파악만한다면 for문보다 빠르다
            {
                sum1 = +item;
            }
        }

       
    }
}

List<t> 일반화 컬렉션 
저장 관리 데이터
형변환 없는 
arrayList 는 object 값으로 일일이 형변환을 해줘야한다. 
List<t> -> 제네렉(일반화)를 사용한다.

 

배우기만 배웠지 왜 써야하는지는 몰랐다 

ArrayList의 좋은점도 배열의 공간을 유동적으로 늘릴 수 있다는 점이다.

 

반응형