C#프로그래밍

배열 (정수형, 문자형, foreach)

다모아 2023. 7. 24. 17:36
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LearnDotnet
{
    internal class App
    {
        //생성자 메서드
        public App()
        {
            //저웃형 배열의 초기화
            int[] arr = new int[3]; //정수형 배열 인스턴스를 생성
            Console.WriteLine(arr);

            int[] arr2 = new int[] { 1, 2, 3, 4, 5 };

            //문자열 배열의 초기화
            string[] weaponNames = new string[]
            {
                "Axe", "Sword", "Dagger", "Bow"
            };

            //선언과 동시에 초기화시
            int[] arr3 = { 1, 2, 3 };

            //배열의 인스턴스를 생성했다
            //배열 동일한 타입의 데이터들을 그룹화 관리 할 때 사용
            //0번 인덱스부터 n-1 인덱스까지
            //배열은 고정적이다
            //타입의 기본값으로 채워진다

            Marine[] marines = new Marine[3];
            //Console.WriteLine(marines[0]); //인덱스로 접근할 수 있다.
            ////Console.WriteLine(marines[1]); //인덱스로 접근할 수 있다.
            ////Console.WriteLine(marines[2]); //인덱스로 접근할 수 있다.
            marines[0] = new Marine();
            marines[1] = new Marine();
            marines[2] = new Marine();

            Console.WriteLine("marines.Length: {0}", marines.Length);
            //수정 for문을 사용하세요.
            //for (int i = 0; i < marines.Length; i++)
            //{
            //    Console.WriteLine(marines[i]);
            //}

            //읽기 전용, marines의 요소를 절대 수정하지마세요
            //foreach (Marine marine in marines)
            //{
            //    Console.WriteLine(marine);
            //}


        }
    }
}

 

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

namespace LearnDotnet
{
    internal class App
    {
        //생성자 메서드
        public App()
        {
            //정수형 배열 arr을 정의 
            int[] arr; //지역변수는 사용하기 전에 반드시 값을 할당
            arr = null;
            //클래스 참조형식 기본값은 null

            Console.WriteLine(arr);

            //문자열 형식 배열 변수 itemNames선언하고
            //각 요소에 값을 할당하자
            //배열 : 동일한 타입의 개체를 그룹화 관리
            //배열의 초기화
            string[] itemNames = new string[3];
            // 각 요소에 값을 할당
            // 0번 인덱스 ~ n-1 (배열의 마지막 인덱스까지)
            itemNames[0] = "장검";
            itemNames[1] = "단검";
            itemNames[2] = "활";

            //배열의 요소를 출력하자
            for(int i = 0; i < itemNames.Length; i++)
            {
                Console.WriteLine(itemNames[i]);
            }
            //foreach문은 일기 전용으로만 사용
            //배열 요소를 출력하는 또 다른 방법 (foreach)
            //foreach(배열요소의 타입 배열요소의변수명 in 배열인스턴스){
            //}
            foreach(string itemName in itemNames)
            {
                Console.WriteLine(itemName);
            }
        }
    }
}

 

1. App 클래스

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

namespace LearnDotnet
{
    internal class App
    {
        //생성자 메서드
        public App()
        {
            //진짜 Item객체를 배열의 요소에 할당하고싶다.
            Item item0 = new Item("장검");
            Item item1 = new Item("단검");
            Item item2 = new Item("활");
            //아이템을 관리하는 배열을 만들자
            Item[] items = new Item[5];
            //아이템을 요소로 할당하자
            items[0] = item0;
            items[1] = item1;
            items[2] = item2;
            //출력
            for(int i = 0; i < items.Length; i++)
            {
                Item item = items[i];
                if(item != null)
                    Console.WriteLine("=> {0}", item.Name);
            }
        }
    }
}

 

1. Item 클래스

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

namespace LearnDotnet
{
    public class Item
    {
        public string Name { get; set; }    //속성 :특수메서드 
        //생성자 
        public Item(string name) 
        {
            this.Name = name;
            Console.WriteLine("{0}이 생성되었습니다.", this.Name);
        }
    }
}

 

 

'C#프로그래밍' 카테고리의 다른 글

배열 복습  (0) 2023.07.25
1차원 배열 인벤토리  (0) 2023.07.24
속성  (0) 2023.07.24
구조체 ,추상 클래스, 봉인, 인터페이스, vector2  (0) 2023.07.24
업캐스팅과 다운캐스팅  (0) 2023.07.24