1. int.Parse(string s)
- 문자열(string)을 정수(int)로 변환.
- 변환할 수 없는 값(예: "abc")이 입력되면 예외(FormatException) 발생.
- null을 입력하면 ArgumentNullException 발생.
int number = int.Parse("123"); // 성공: number = 123
int number2 = int.Parse("abc"); // 실패: FormatException 발생
2. int.TryParse(string s, out int result)
- 변환을 시도하고 성공 여부(true or false)를 반환.
- 변환 실패 시 예외를 발생시키지 않고 false 반환, result는 0.
- 예외 발생을 방지하고 싶을 때 사용.
bool success = int.TryParse("123", out int number); // success = true, number = 123
bool fail = int.TryParse("abc", out int number2); // fail = false, number2 = 0
3. decimal.Parse(string s)
- 문자열을 decimal 타입으로 변환.
- 변환 불가능한 값이 들어오면 예외(FormatException) 발생.
- null을 입력하면 ArgumentNullException 발생.
decimal price = decimal.Parse("12.34"); // 성공: price = 12.34M
decimal price2 = decimal.Parse("abc"); // 실패: FormatException 발생
4. decimal.TryParse(string s, out decimal result)
- 변환을 시도하고 성공 여부(true or false)를 반환.
- 변환 실패 시 예외 발생 없이 false 반환, result는 0.0M.
bool success = decimal.TryParse("12.34", out decimal price); // success = true, price = 12.34M
bool fail = decimal.TryParse("abc", out decimal price2); // fail = false, price2 = 0.0M
정리 (예외 발생 여부)
메서드 성공 시 결과 실패 시 동작 예외 발생 여부
int.Parse | 변환된 int 값 | FormatException 발생 | 예외 발생 |
int.TryParse | 변환된 int 값 | false 반환, result = 0 | 예외 없음 |
decimal.Parse | 변환된 decimal 값 | FormatException 발생 | 예외 발생 |
decimal.TryParse | 변환된 decimal 값 | false 반환, result = 0.0M | 예외 없음 |
언제 어떤 걸 써야 할까?
- 예외 처리가 필요 없고 값이 항상 유효하다면 → Parse()
- 입력값이 유효하지 않을 가능성이 있다면 → TryParse()
(예외 발생을 막고, 실패했을 때 기본값을 지정할 수 있음)
'유니티' 카테고리의 다른 글
C# string 주요기능 (0) | 2025.02.17 |
---|---|
[UNITY] Mathf 주요 기능 정리 (Unity 수학 라이브러리) (0) | 2025.02.17 |
float, double과 decimal 차이점 (0) | 2025.02.17 |
[UNITY] 무료 사운드 mp3,wave 파일 편집 Goldwave 툴 (0) | 2025.02.11 |
[Unity] 파일명과 확장자 한번에 변경 무료툴 (Batch Namer) (0) | 2025.02.10 |