C#/수업과제

0316_ 클래스 생성연습, 배열 연습,

minquu 2021. 3. 17. 00:58
반응형
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace study04_HW
{
    public class App
    {
        public App() {
            Reinforce reinforce =  new Reinforce();
            reinforce.EnchantSystem(Reinforce.eAmorItem.Shield, Reinforce.eEnchant.LengendEnchant);
        }
    }
}

 

using System;

namespace study04_HW
{
    class Reinforce
    {
        public enum eAmorItem{ 
            Armor, Shield, band
        }
        public enum eEnchant {
            NormalEnchant, RareEnchant, LengendEnchant, 
        }
        public Reinforce()
        {
            
        }
        public void EnchantSystem(eAmorItem amorItem, eEnchant enchant) {
            User user = new User();
            if (user.gold > 100 && user.enchantAmount >= 1)
            {
                Console.WriteLine("{0} {1}가 합성되었습니다.", enchant, amorItem);
            }
            else {
                Console.WriteLine("돈 또는 인첸트가 부족합니다.");
            }
        }
    }
}

 

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

namespace study04_HW
{
    public class User
    {
        public int gold = 50;
        public int enchantAmount = 2;
        public User() { 
        
        }
    }
}

 

클래스에서 다른 클래스에서 맴버변수의 값을 사용하는 방법이 헷갈려서 만들어봤습니다. 

개인적으로 클래스에서 맴버변수와 메서드를 만들고 자유롭게 호출하고 값을 출력하는게 미숙한 것 같습니다.

(하루에 한 두 개는 꼭 클래스 연습을 하기로함)

------

형식 마다 배열 연습 

using System;

namespace study04_HW
{
    public class App
    {
        public App() {
            //정수 배열 변수 선언
            int[] arr;
            //정수 배열 인스턴스 생성(빈배열 후 값 할당
            arr = new int[5] { 8, 15, 20, 5, 3 };
            //정수 배열의 길이 출력
            Console.WriteLine("정수 배열의 총 길이 : {0}",arr.Length);
            //정수 배열의 요소 출력
            //for
            for (int i = 0; i < arr.Length; i++){
                Console.WriteLine("for 반복문으로 출력 : {0}", arr[i]);
            }
            //foreach
            foreach (int exportArr in arr){
                Console.WriteLine("foreach 반복문으로 출력 : {0}",exportArr);
            }
        }
    }
}

 

using System;

namespace study04_HW
{
    public class App
    {
        public App() {
            //stirng 배열 변수 선언
            string[] strarr;
            //string 배열 인스턴스 생성(빈배열 후 값 할당
            strarr = new string[5] { "사과" ,"배" ,"레몬","포도","오렌지" };
            //string 배열의 길이 출력
            Console.WriteLine("문자열 배열의 총 길이 : {0}",strarr.Length);
            //string 배열의 요소 출력
            //for
            for (int i = 0; i < strarr.Length; i++){
                Console.WriteLine("for 반복문으로 출력 : {0}", strarr[i]);
            }
            //foreach
            foreach (string exportSrtarr in strarr) {
                Console.WriteLine("foreach 반복문으로 출력 : {0}", exportSrtarr);
            }
        }
    }
}

 

using System;

namespace study04_HW
{
    public class App
    {
        public App() {
            //bool 배열 변수 선언
            bool[] boolArr;
            //bool 배열 인스턴스 생성(빈배열 후 값 할당
            boolArr = new bool[4] { true, true, false, true };
            //bool 배열의 길이 출력
            Console.WriteLine("bool 배열의 총 길이 : {0}", boolArr.Length);
            //bool 배열의 요소 출력
            //for
            for (int i = 0; i < boolArr.Length; i++){
                Console.WriteLine("for 반복문으로 출력 : {0}", boolArr[i]);
            }
            //foreach
            foreach (bool exportBoolArr in boolArr) {
                Console.WriteLine("foreach 반복문으로 출력 : {0}", exportBoolArr);
            }
        }
    }
}

 

using System;

namespace study04_HW
{
    public class App
    {
        enum eColor { 
            Pink, Red, Purple, Yellow
        }
        public App() {
            //enum 변수 선언
            eColor[] color;
            //enum 배열 인스턴스 생성(빈배열 후 값 할당
            color = new eColor[4];
            color[0] = eColor.Pink;
            color[1] = eColor.Red;
            color[2] = eColor.Purple;
            color[3] = eColor.Yellow;

            //enum 배열의 길이 출력
            Console.WriteLine("enum 배열의 총 길이는 : {0}",color.Length);
            Console.WriteLine("************************************************");
            //enum 배열의 요소 출력
            //for
            for (int i = 0; i < color.Length; i++){
                Console.WriteLine("enum 배열 for 반복문으로 출력 : {0}", color[i]);
            }
            //foreach
            Console.WriteLine("************************************************");
            foreach (eColor export in color){
                Console.WriteLine("enum 배열 for 반복문으로 출력 : {0}", export);
            }
        }
    }
}
using System;

namespace study04_HW
{
    public class App
    {
        public App() {
            //calss 변수 선언
            Unit[] units;
            //calss 배열 인스턴스 생성(빈배열 후 값 할당
            units = new Unit[5];

            for (int i = 0; i < 4; i++){
                Unit unit = units[i];
                units[i] = unit;
                Console.WriteLine(unit);
            }

            //calss 배열의 길이 출력
            Console.WriteLine("Class 배열의 총 길이 : {0}", units.Length);
            Console.WriteLine("************************************************");
            //calss 배열의 요소 출력
            //for
            for (int i = 0; i < units.Length; i++) {
                Unit unit = units[i];
                Console.WriteLine(unit);
            }
            //foreach
            Console.WriteLine("************************************************");
            foreach (Unit unit in units) {
                Console.WriteLine(unit);
            }
            }
        }
}

 

--

 

using System;

namespace study04_HW
{
    public class App
    {
        public App() {
            int x = 10;
            PassByValue(x);
            Console.WriteLine(x);
            PassByReference(ref x);
            Console.WriteLine(x);
        }
        public void PassByValue(int a)
        {
            a += 3;
        }
        public void PassByReference(ref int a)
        {
            a += 3;
        }
    }
}

레퍼런스 부분은 아직 이해가 안됨... 더 공부가 필요,

반응형