문제 풀기/C#
35. (중요)문자열 다루기 기본(원하는 타입.TryParse(~~~, out))
kagan-draca
2025. 1. 21. 13:34
기본틀 :
public class Solution {
public bool solution(string s) {
bool answer = true;
return answer;
}
}
제출한 코드 :
using System;
public class Solution {
public bool solution(string s) {
return (s.Length == 4 || s.Length == 6) && int.TryParse(s, out int result);
}
}
추가 학습)
문제를 보고 string 타입의 매개변수 s에 문자가 포함 돼 있는지 여부를 판독하고
True, False를 반환해주는 함수가 있을 것이라 예상을 했다.
인터넷에 검색한 결과
원하는 타입.TryParse(input 값, out + 원하는 타입 + 변수 );
으로 형변환 가능 여부를 판별해주는 함수가 존재했다.
이 함수의 신기한 점은
TryParse(~~~~~, out + 원하는 타입(int, float, bool 등) + 결과를 담을 변수 )
으로
out 키워드를 사용하여 변환 결과를
저장할 변수를 지정한다는 점이 었다.
주요 특징으로는
- 반드시 메서드 내부에서 값이 할당되어야 함:
- 메서드가 끝날 때 out 변수는 유효한 값을 가져야 합니다.
- 호출 시 초기화 불필요:
- 호출자는 out 매개변수를 초기화하지 않아도 됩니다.
- 다중 반환을 효과적으로 처리:
- 메서드가 여러 값을 반환하고 싶을 때 사용됩니다
이다. "3번의 다중 반환을 효과적으로 처리"의 예시로는
ex)
using System;
class Program
{
static void Calculate(int a, int b, out int sum, out int multi)
{
sum = a + b; // 반드시 값을 할당해야 함
multi = a * b;
}
static void Main()
{
int x = 5, y = 3;
Calculate(x, y, out int resultSum, out int resultMulti);
Console.WriteLine($"Sum: {resultSum}, Multi: {resultProduct}");
}
}
// 결과
// Sum : 8, Multi : 15
위와 같이 Calculate라는 함수를 만들었을 때, out int sum과 out int multi를 작성하면
Calculate를 호출할 때, sum과 multi의 결과를 담을 변수를 함께 input 값으로 주어
sum의 결과와 multi의 결과를 함께 반환 받을 수 있다는 점이다.