TIL을 너무 막 올렸다.
앞으로는 체계적으로 룰이 필요할듯.
배열, for each, 함수, OOP, class, 객체
-> 조건식 쓰지 않고 해당 배열 처음부터 끝까지 반복
반복변수 타입 = 배열의 타입
foreach(변수타입 반복변수 in 배열)
{
실행 내용
}
string[] country = new string[3] { "스웨덴", "노르웨이", "핀란드" };
foreach(string NorthEurope in country)
{
Console.WriteLine(country);
}
string[] game = new string[3] {"어쌔신 크리드", "C&C General", "Battle Field"};
int[] year = new int[4] {2020, 2021, 2023, 2099};
단! 배열 크기에 맞게 데이터 전부 입력해야함.
// 생성과 동시에 초기화하면 배열 크기 입력안해도 괜찮다.
string[] game = new string[] {"어쌔신 크리드", "C&C General", "Battle Field"};
// 암시적으로 작성, 배열 형태 생략할 수 있음.
string[] game = {"어쌔신 크리드", "C&C General", "Battle Field"};
$를 이용해서 간편하게 입력할 수 있다.
string name = "<name>";
Console.WriteLine("Hi, " + name + ". It's a pleasure to meet you!");
보다 간편하게 사용하려면 $를 이용한다.
string name = "<name>";
Console.WriteLine("Hi, {name}. It's a pleasure to meet you!");
다른 자료형도 사용가능.
var name = "<name>";
int cool = 32;
Console.WriteLine($"Hi, Munch. {cool} What did you weekends?" + cool);
객체에 대해 배우는 도중, 오류가 생겼다.
Character myCharacter = new Character();
myCharacter.userName = "chad";
myCharacter.job = "전사";
myCharacter.level = 20;
myCharacter.IntroduceCharacter();
class Character
{
string userName;
string job;
int level;
public void IntroduceCharacter()
{
Console.WriteLine("제 이름은 " + userName + "입니다");
}
}

public, private, protected 문제다.
Character 속 객체(+ 클래스) 앞에 따로 선언을 해주지 않으면 자동으로 private로 선언된다.
따라서 접근할수가 없었음!
Character myCharacter = new Character();
myCharacter.userName = "chad";
myCharacter.job = "전사";
myCharacter.level = 20;
myCharacter.IntroduceCharacter();
public class Character
{
public string userName;
public string job;
public int level;
public void IntroduceCharacter()
{
Console.WriteLine("제 이름은 " + userName + "입니다");
}
}

해결!
using System;
Console.WriteLine("아이템을 몇개 사용하시겠습니까?");
string itemCnt = Console.ReadLine();
int intItemCnt = Convert.ToInt32(itemCnt);
int itemHave = 30;
itemUsing();
int itemUsing()
{
if (intItemCnt < 1)
{
Console.WriteLine("유효하지 않은 값입니다.");
return 0;
}
else if(itemHave >= intItemCnt){
Console.WriteLine("아이템을 " + intItemCnt + "개 사용하였습니다." + (itemHave-intItemCnt) + "개 남았습니다.");
return intItemCnt;
}
else
{
Console.WriteLine("인벤토리의 수량보다 사용 갯수가 많습니다. 아이템 사용 개수를 다시 한 번 확인해주세요!");
return 0;
}
}


