C#의 기본 문법을 정리한 글.
void Start()
'void Start()'는 주로 Unity 게임 엔진에서 사용되는 메서드로, 초기화 작업을 수행하는 데 사용된다.
이 메서드는 해당 스크립트가 활성화될 때 한 번 호출된다.
using UnityEngine;
public class MyScript : MonoBehaviour
{
void Start()
{
// 초기화 코드
}
}
void Update()
'void Update()'도 또한 Unity에서 사용되는 메서드로, 상속받은 클래스에서 매 프레임마다 호출되는 메서드이다.
주로 게임 로직이나 애니메이션 등을 프레임 단위로 처리하는 데 사용된다.
using UnityEngine;
public class MyScript : MonoBehaviour
{
void Update()
{
// 매 프레임마다 실행되는 코드
}
}
Debug.Log()
콘솔창에 메시지를 출력하는 데 사용한다.
주로 콘솔에 메시지를 출력함으로써 디버깅을 돕는 기능을 한다.
Debug.Log("Hello, Unity!");
자료형 Data Type
int: 32비트 정수
long: 64비트 정수
float: 32비트 부동 소수점 수 (정밀도: 7자리)
double: 64비트 부동 소수점 수 (정밀도: 15~16자리)
float pi = 3.14f;
float형 변수를 선언하려면 숫자 끝에 f를 붙여야 한다.
char: 16비트 유니코드 문자 (한 글자)
string: 유니코드 문자열 (여러 글자)
bool: 참 또는 거짓 값(true or false)
3항 연산자
int a = 5;
int b = 3;
int c = 4;
a = b > c ? 1 : 2;
물음표 앞이 참이면 앞의 값(1)을 넣고, 거짓이면 뒤의 값(2)를 넣는다.
null
string s = null;
string s2 = "abc";
string s3 = s ?? s2;
// s3 == "abc"
s ??= s2;
// s == "abc"
'string s3 = s ?? s2;' 의 뜻은 순서대로 null이면 넘어가고 아니면 넣는다는 뜻.
즉, s는 null이므로 넘어가고 s2는 null이 아니므로 s2가 저장될 것이다.
's ??= s2;'는 s의 값이 null이면 s2를 넣고 아니면 넘어간다는 뜻.
s는 null이므로 s2가 저장될 것이다.
switch-case
예시
string groupName = "뉴진스";
switch (groupName)
{
case "르세라핌":
Debug.Log("르세라핌? 멤버들이 매력적이야!");
break;
case "뉴진스":
Debug.Log("뉴진스는 노래가 좋아");
break;
case "카라":
Debug.Log("이번에 컴백했잖아! 우주를 지배할 아이돌!");
break;
default:
Debug.Log("누군지 몰라요..");
break;
}
// 뉴진스는 노래가 좋아
while
예시
float thickness = 0.0001f;
int cnt = 0;
while (thickness <= 1)
{
cnt++;
thickness *= 2;
if (thickness > 0.5f)
{
break;
}
}
Debug.Log(cnt + "번 접었습니다.");
// 13번 접었습니다.
C#은 파이썬과 다르게 int형과 string형이 합쳐진다.
추가로 무한반복(while true)는 웬만하면 쓰지 말자. 유니티는 무한 반복에 취약하다.
for
예시
for (int i = 0; i < 10; i++)
{
Debug.Log(i);
}
배열
1차원 배열
int[] numbers = new int[5]; // 크기가 5인 정수 배열 선언
int[] moreNumbers = { 1, 2, 3, 4, 5 }; // 배열 초기화 시 값 할당
2차원 배열
int[,] matrix = new int[3, 3]; // 3x3 크기의 정수 배열 선언
// 배열 초기화 시 값 할당
int[,] predefinedMatrix = {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
3차원 배열
int[,,] threeDArray = new int[2, 2, 2]; // 2x2x2 크기의 정수 배열 선언
가변 배열
가변 배열은 배열의 배열로, 각 배열이 서로 다른 크기를 가질 수 있다.
// 가변 배열 선언 및 초기화
int[][] jaggedArray = new int[3][]; // 3개의 배열을 담는 가변 배열 선언
jaggedArray[0] = new int[2]; // 첫 번째 배열의 크기 2
jaggedArray[1] = new int[3]; // 두 번째 배열의 크기 3
jaggedArray[2] = new int[4]; // 세 번째 배열의 크기 4
// 배열 초기화 시 값 할당
int[][] predefinedJaggedArray = {
new int[] { 1, 2 },
new int[] { 3, 4, 5 },
new int[] { 6, 7, 8, 9 }
};
아 그리고 vs에서
주석 달기: ctrl + k, c
주석 풀기: ctrl + k, u
'Unity & C#' 카테고리의 다른 글
[Unity] 캐릭터 이동 (0) | 2024.08.02 |
---|---|
[C#] 문법 정리 2 (4) | 2024.07.23 |