public void insertAddress() { Console.WriteLine("---주소 입력---"); Console.WriteLine("1.일반 2.대학 3.회사"); Console.Write("번호 선택 >> "); int sel = Int32.Parse(Console.ReadLine()); string name, phone, addr; string major, year; string company, job; Address address; Console.Write("이름 입력 >> "); name = Console.ReadLine(); Console.Write("전화 입력 >> "); phone = Console.ReadLine(); Console.Write("주소 입력 >> "); addr = Console.ReadLine(); if (sel == 1) { address = new Address(); address.Name = name; address.Phone = phone; address.Addr = addr; arrList.Add(address); } else if (sel == 2) { Console.Write("전공 입력 >> "); major = Console.ReadLine(); Console.Write("학년 입력 >> "); year = Console.ReadLine(); address = new UnivAddress(); ((UnivAddress)address).Name = name; ((UnivAddress)address).Phone = phone; ((UnivAddress)address).Addr = addr; ((UnivAddress)address).Major = major; ((UnivAddress)address).Year = year; arrList.Add(address); } else if (sel == 3) { Console.Write("회사 입력 >> "); company = Console.ReadLine(); Console.Write("업무 입력 >> "); job = Console.ReadLine(); address = new CompanyAddress(); ((CompanyAddress)address).Name = name; ((CompanyAddress)address).Phone = phone; ((CompanyAddress)address).Addr = addr; ((CompanyAddress)address).Company = company; ((CompanyAddress)address).Job = job; arrList.Add(address); } }
public void loadFileAddress(ArrayList arrList) { StreamReader sr = null; try { sr = new StreamReader("address.txt"); Address address = null; int step = 0, kind = 0; while (sr.Peek() >= 0) // 읽을 내용이 있다 { string str = sr.ReadLine(); if (step == 0) { if (str == "general") { kind = GENERAL; address = new Address(); } else if (str == "universal") { kind = UNIVERSAL; address = new UnivAddress(); } else if (str == "company") { kind = COMPANY; address = new CompanyAddress(); } step++; } else if (step == 1) { address.Name = str; step++; } else if (step == 2) { address.Phone = str; step++; } else if (step == 3) { address.Addr = str; step++; } else if (step == 4) { if (kind == GENERAL) { arrList.Add(address); step = 0; } else if (kind == UNIVERSAL) { ((UnivAddress)address).Major = str; step++; } else if (kind == COMPANY) { ((CompanyAddress)address).Company = str; step++; } } else if (step == 5) { if (kind == UNIVERSAL) { ((UnivAddress)address).Year = str; } else if (kind == COMPANY) { ((CompanyAddress)address).Job = str; } step++; } else if (step == 6) { arrList.Add(address); step = 0; } } } catch (Exception e) // 예외 에러를 잡는다 { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } finally // 정상/예외든 무조건 마무리한다 { if (sr != null) { sr.Close(); } } }