[TIL] C# 기초 day1

뭉크의 개발·2023년 7월 19일
0

C# - Pre-Camp

목록 보기
1/7
post-thumbnail

형변환(Cascading)

변수를 사용할 때 사용하고 있는 자료형 형태를 변환

1. 숫자 -> 숫자 (int, float)

숫자를 다른 숫자의 형태로 바꾸는 방법

자료형1 변수명1 =;
자료형2 변수명2 =;

자료형3 변수명3 = 변수명1 + (자료형1)변수명2;
-> // 여기서 자료형3 = 자료형1

e.g.,

using System;

int x = 10;
float y = 10.0f;

int z = x + (int)y;
int x = 10;
float y = 10.0f;

float z = (float)x + y;

2. 다른 자료형 -> 문자

자료형 변수명1 =;
string 변수명2 = 변수명1.ToString();

e.g.,

using System;

int x = 10;
string xStr = x.ToString();

float y = 10.0f;
string yStr = y.ToString();

bool mybool = true;
string boolStr = mybool.ToStirng();

3. 문자 -> 다른 자료형

Convert.To~() 이용

string 변수명1 = "값";
자료형2 변수명2;
변수명2 = Convert.To형변환(변수명1);

e.g.,

using System;

string iStr = "10";
int x;
x = Convert.ToInt32(iStr);

string bStr = "true";
bool b;
b = Convert.ToBoolean(bStr);

Parse() 이용

string 변수명1 = "값";
자료형2 변수명2;
변수명2 = 자료형2.parse(변수명1);

e.g.,

string iStr = "10";
int x;
x = int.Parse(iStr);

string bStr = "true";
bool b;
b = intParse(bStr);

TryParse() 이용

string 변수명1 = "값";
자료형2 변수명2;
자료형2.TryParse(변수명1, out 변수명2);

e.g.,

string iStr = "10";
int x;
x.TryParse(iStr, out x); //x = 10

string bStr = "testtest";
bool b;
b.TryParse(bStr, out b); //b = true

캐스팅 성공 여부 확인

string iStr = "10";
int x;
bool isSuccess;
isSuccess = int.TryParse(iStr, out x); //isSuccess = true

string bStr = "testtest"
bool b;
bool isSuccess;
isSuccess = bool.TryParse(bStr, out b); //isSuccess = false -> bool값이 아니기 때문

만약 내가 게임에 쓴다면?

스탯변환
장비 공격력 -> 1
스탯 환산 시
공격력 1 당 대미지 0.4

int strikingPower = 1;
float atkExchange = 0.4f;
float statDamage = 1.0f; // 기존 대미지
statDamage += (float)strikingPower * atkExchange;

Console.WriteLine(statDamage); //-> 1.4 물론 이렇게 안하겠지.. 

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

정말 좋은 정보 감사합니다!

답글 달기