ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 03/16 배열 선언, 생성, 요소 삭제 연습
    C#/수업내용 2021. 3. 16. 11:23

     

    Program.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Study04
    {
        class Program
        {
            static void Main(string[] args)
            {
                new App();
            }
        }
    }
    

     

    App.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Study04
    {
        public class App
        {        
            public App()
            {
                //Fruits배열변수 선언
                Fruits[] arrFruits;
    
                //배열 인스턴스화
                arrFruits = new Fruits[3];
    
                //Fruits 객체 생성
                Fruits fruits1 = new Fruits(new FruitsData("사과"));
                Fruits fruits2 = new Fruits(new FruitsData("복숭아"));
                Fruits fruits3 = new Fruits(new FruitsData("멜론"));
    
                //배열 요소에 추가
                arrFruits[0] = fruits1;
                arrFruits[1] = fruits2;
                arrFruits[2] = fruits3;
    
                //배열 요소를 출력
                foreach(Fruits fruits in arrFruits)
                {
                    if(fruits != null)
                    {
                        Console.WriteLine(fruits.GetName());
                    }
                    else
                    {
                        Console.WriteLine("[Empty]");
                    }
                }
    
                //배열요소에서 이름이 "사과"인 Fruits객체를 검색
                Fruits foundFruits = null;
                string searchName = "사과";
                foreach (Fruits fruits in arrFruits)
                {
                    if (fruits != null && fruits.GetName() == searchName)
                    {
                        foundFruits = fruits;
                        Console.WriteLine("이름이 {0}인 객체를 찾았습니다.", searchName);
                        break;
                    }
                }
                if(foundFruits == null)
                {
                    Console.WriteLine("이름이 {0}인 객체를 찾지 못했습니다.", searchName);
                }
    
                //배열요소에서 이름이 "복숭아"인 Fruits객체를 삭제
                bool foundPlug = false;
                searchName = "복숭아";
    
                for (int i = 0; i < 3; i++)
                {
                    if (arrFruits[i] != null && arrFruits[i].GetName() == searchName)
                    {
                        Console.WriteLine("이름이 {0}인 객체를 삭제합니다.", searchName);
                        arrFruits[i] = null;
                        foundPlug = true;
                        break;
                    }
                }
                if (foundPlug == false)
                {
                    Console.WriteLine("이름이 {0}인 객체를 찾지 못했습니다.", searchName);
                }
    
                //배열 요소를 출력            
                foreach (Fruits fruits in arrFruits)
                {
                    if (fruits != null)
                    {
                        Console.WriteLine(fruits.GetName());
                    }
                    else
                    {
                        Console.WriteLine("[Empty]");
                    }
                }
            }
        }
    }
    

     

    Fruits.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Study04
    {
        public class Fruits
        {
            public FruitsData fruitsData;
            public Fruits()
            {
    
            }
            public Fruits(FruitsData fruitsData)
            {
                this.fruitsData = fruitsData;
            }
            public string GetName()
            {
                return fruitsData.name;
            }
        }
    }
    

     

    FruitsData.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Study04
    {
        public class FruitsData
        {
            public string name;
            public FruitsData()
            {
    
            }
            public FruitsData(string name)
            {
                this.name = name;
            }
        }
    }
    
Designed by Tistory.