C# 9

[C#] 딕셔너리 (Dictionary)

딕셔너리, DictionaryDictionary 자료구조는 System.Collections.Generic의 네임스페이스 제네릭 클래스이며 키-값 쌍의 데이터를 저장하고 관리하는 데 사용되며 키를 사용하여 값을 효율적으로 검색할 수 있다.- 주로 아이템 관리 등에 사용하나 다른곳에서도 많이 사용됨.- 잦은 검색에 최적화된 대신 단순 데이터 저장용으로 사용하기엔 적합하지 않을 수 있음 딕셔너리 선언//종류 혹은 이름, 값Dictionary "딕셔너리명" = new Dictionary(); 주요 특징 및 기능 해시테이블(HashTable) 기반의 자료구조라 Key를 사용하여 Value를 효율적으로 검색, 추가, 삭제할 수 있다.- 해시테이블 : 비제네릭이라 자료형을 명시하지 않아 박싱/언박싱이 필요하다키와 ..

C#/Theory 2025.04.10

[C#] 메서드, 매개변수, 반환(return), void

메서드(Method)일련의 코드 블록으로, 특정한 작업을 수행하기 위해 사용되는 독립적인 기능 단위-  중복되는 과정들을 메서드로 만든것- C#에서 메서드는 함수(예시) 밥먹는 과정을 밥먹기 로 만들고 아침, 점심, 저녁에 밥먹는 과정을 다 쓰는게 아니라 밥먹기로 통일    밥먹기(식사메뉴) > 밥먹기(미역국), 밥먹기(고기) 등  ) 역할, 중요성코드의 재사용성 : 메서드를 사용하여 코드를 작은 단위로 분리하고 관리할 수 있다.가독성과 유지보수성 : 코드가 간결해지고, 가독성이 좋아진다. 또한 코드 수정이 필요한 경우 해당 메서드만 수정하면 되므로 유지보수가 용이해진다.코드의 중복 제거 : 반복적인 작업을 메서드로 묶어서 사용하면 중복 방지할 수 있음코드의 추상화 : 메서드를 통해 직업 단위를 추상화하..

C#/Theory 2025.02.19

[C#] TextRpg 팀 프로젝트 중, 직업 / 스탯 별 공격력 적용

직업은 전사(Worrior), 도적(Rogue), 마법사(Wizzard) 총 3개이며스탯은 힘(str), 민첩(dex), 지능(int), 행운(luk) 총 4개이다. - int의 경우 이미 정수로 사용되고 있어 거기에 e를 더 붙여 변수로서는 inte로 사용중이다public class Player{ public JobType job { get; set; } public int str { get; private set; } public int dex { get; private set; } public int inte { get; private set; } public int luk { get; private set..

C#/Study 2025.02.13

[C#] TextRpg 팀 프로젝트 중, 특정한곳 입장 시 아이템 충전

이번 팀 프로젝트 TextRpg엔 휴식하기라는 곳이 있다.휴식하기를 선택하여 입장 시 500G을 내면 즉시 체력(hp), 마력(mp)을 풀로 회복시켜주고 힐 포션이 3개 미만일경우 3개까지 충전해준다. (힐 포션이 3개 이상일경우 충전은 없다)이 중 나는 힐 포션 충전 로직을 작성하였다.SleepScene 클래스로 휴식하기 공간에 대해 따로 관리하고 있었으며 해당 코드는 그곳에 작성해주었다.다만 포션 자체는 포션 클래스로 따로 관리하고 있었고, 포션은 여러 종류가 있어 그곳에서 힐 포션에 대하여 확인한다.위 코드의 내용은 아래와 같다.현재 보유한 힐 포션의 개수를 확인한다3개 미만이면 포션을 지급하고, "포션이 지급되었습니다!" 메세지 출력3개 이상이면 지급하지 않고, "포션은 이미 3개 이상 보유중입니..

C#/Study 2025.02.12

[C#] 이것저것, 함수 / 선언 / 변수 / 배열

나에게 게임개발 배우는것을 권유한 친구와 초췌한 모습으로 영상통화를 하면서 친구가 하고있는 플젝에 대해 하소연을 들어주고 있었는데, 예전같았으면 친구가 아주 유치원생 수준에 맞춰 얘기해주는것도 그게뭐야? 하던 내가 드디어 무슨상황이구나 하고 알아듣는것에 친구의 속상한 마음과는 달리 어어? 하면서 웃고있었다.그러다 문득 내 표정을 깨달은 친구가 축하해주고 있던 와중 나의 수준에 잘 맞춰 설명해주는 새벽 2시가 되어가 자려고 하는 상황에서 내 친구에게 내가 모르는 기초적인 질문들을 좀 했다.(친구는 C#을 사용하진 않으나 큰 기본적인 틀에 대해서는 내가 처음 공부할 당시부터 자주 설명해주었다)  내가 햇갈렷던것 중 제일 큰 하나는 함수였는데, 햇갈리기 보다는 함수에 대해 아직 이해를 제대로 하지 못햇다는 것..

C#/Study 2025.02.11

[C#] 문자열 처리 기능

문자열 처리 기능 및 메서드 1. 문자열 생성string str1 = "Hello, Wolrd!"; // 리터럴 문자열 사용string str2 = new string("H", 5); // (char c/반복할 문자, int count/반복할 횟수) 문자 'H'를 5개로 구성된 문자열 생성- 문자열 리터럴 : 따옴표로 묶인 문자 시퀀스 2. 문자열 연결 및 분할string str1 = "Hello";string str2 = "World";string str3 = str1 + " " + str2; // str1, str2를 더해 str3을 만들어냄, 연결Console.WriteLine(str3); // 출력 : Hello Worldstring str1 = "Hello, World!";string[] str..

C#/Theory 2025.02.06

[C#] 기초, Using / Console 등

Using 비주얼스튜디오 사용 중 using문이 없어서 신기했다. 유니티에선 스크립트 생성 시 유징문이 그대로 따라왔었는데 여기는 없어도 되는건가 싶었는데 알고보니 프로젝트 > 속성에 보면 자동으로 using이 포함되어있었다.   Console.WriteLine / Console.Write(출력) Console.WriteLine : C#에서 콘솔 출력할 때 사용하는 메서드, 줄 바꿈 문자열을 추가함Console.WriteLine(value);value : 출력할 값, 문자열/숫자/변수 등 사용 가능 (문자 입력시 "")Console.WriteLine("Jiya");Console.WriteLine(2 + 3);이렇게 입력할 경우 각각 콘솔에 입력되는 값은 아래와 같다.Jiya5  Console.Write ..

C#/Theory 2025.02.05

[C#] 연산/연산자

산술연산자+, - 등 사칙연산 및 %(나머지)  관계연산자, == : 넣어준다== : 일반 = 과 같은의미, 같다!= : ==와 반대, 다르다 논리연산자 - 논리연산자는 참(True) 또는 거짓(False) 값을 대상으 로 사용&& : 논리곱(And)|| : 논리합(or)! : 논리부정(Not) 비트연산자비트 단위로 연산을 수행하는 연산자, 2진수로 표현& (And) : 두 비트값이 모두 1일때 1을 반환 | (Or) : 두 비트값 중 하나라도 1일때 1을 반환^ (Xor)  : 두 비트값이 서로 다를때 1을 반환~ (Not) : 비트 값의 보수(complement)를 반환>>(오른쪽 시프트) : 비트를 오른쪽으로 이동int a = 0b1100; // 12 (2진수)int b = 0b1010; // 10..

C#/Theory 2025.02.05