Convert 클래스와 구문 분석
Convert와 TryParse로 구문 분석하고 변환합니다.
Convert 클래스와 구문 분석은(는) CoddyKit의 무료 C# Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C# Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
문자열을 숫자로 변환하기
사용자 입력은 텍스트로 들어옵니다. 계산에 사용하려면 문자열을 숫자로 변환해야 합니다. C#에서는 Convert, Parse, TryParse를 제공합니다.
using System;
class Program
{
static void Main()
{
string input = "42";
int number = int.Parse(input);
Console.WriteLine(number + 8);
}
}int.Parse
int.Parse는 숫자로 된 문자열을 int로 변환합니다. 텍스트가 올바른 숫자가 아니면 FormatException을 발생시킵니다.
using System;
class Program
{
static void Main()
{
try
{
int n = int.Parse("abc");
Console.WriteLine(n);
}
catch (FormatException)
{
Console.WriteLine("Not a valid number");
}
}
}int.TryParse
int.TryParse는 예외를 피합니다. 성공하면 true를 반환하고 결과를 out 매개변수에 넣으며, 실패하면 false를 반환합니다.
using System;
class Program
{
static void Main()
{
if (int.TryParse("123", out int n))
Console.WriteLine("Parsed: " + n);
else
Console.WriteLine("Failed");
}
}안전한 입력에는 TryParse 사용하기
신뢰할 수 없는 입력을 처리할 때는 TryParse가 권장됩니다. 잘못된 텍스트를 처리해 프로그램이 중단되지 않도록 하기 때문입니다.
using System;
class Program
{
static void Main()
{
string[] inputs = { "10", "oops", "30" };
int total = 0;
foreach (var s in inputs)
{
if (int.TryParse(s, out int v))
total += v;
}
Console.WriteLine("Total of valid: " + total);
}
}변환 클래스
Convert 클래스는 다양한 기본 형식 간 변환을 지원합니다. 예를 들어 Convert.ToInt32, Convert.ToDouble, Convert.ToBoolean 등이 있습니다.
using System;
class Program
{
static void Main()
{
int i = Convert.ToInt32("256");
double d = Convert.ToDouble("3.14");
bool b = Convert.ToBoolean("true");
Console.WriteLine(i + ", " + d + ", " + b);
}
}변환은 널을 처리합니다
int.Parse와 달리 Convert.ToInt32(null)은 예외를 발생시키지 않고 0을 반환합니다. 편리할 수도 있지만 예상하지 못한 결과가 될 수도 있습니다.
using System;
class Program
{
static void Main()
{
string s = null;
int n = Convert.ToInt32(s); // returns 0
Console.WriteLine("Result: " + n);
}
}숫자 형식 간 변환
Convert는 한 숫자 형식을 다른 형식으로 변환할 수도 있습니다. 부동 소수점 값을 정수로 변환할 때는 버림이 아니라 반올림을 수행합니다.
using System;
class Program
{
static void Main()
{
double d = 7.6;
int cast = (int)d; // truncates -> 7
int converted = Convert.ToInt32(d); // rounds -> 8
Console.WriteLine("cast=" + cast + ", convert=" + converted);
}
}다른 형식 파싱하기
대부분의 내장 형식에는 고유한 Parse/TryParse가 있습니다. 예를 들어 double.TryParse, bool.TryParse, DateTime.TryParse 등이 있습니다.
using System;
class Program
{
static void Main()
{
bool okD = double.TryParse("2.5", out double d);
bool okB = bool.TryParse("True", out bool flag);
Console.WriteLine(okD + ":" + d + ", " + okB + ":" + flag);
}
}반대 방향에는 ToString
숫자를 다시 텍스트로 변환하려면 필요에 따라 형식 문자열과 함께 ToString()을 호출하십시오.
using System;
class Program
{
static void Main()
{
int n = 255;
double price = 12.5;
Console.WriteLine(n.ToString());
Console.WriteLine(price.ToString("C")); // currency format
}
}알맞은 도구 선택하기
신뢰할 수 없는 사용자 입력에는 TryParse를 사용하고, 입력이 항상 올바르다고 보장될 때는 Parse를 사용하십시오. 널을 처리하거나 여러 형식 간에 변환할 때는 Convert를 사용하십시오.
using System;
class Program
{
static void Main()
{
string userInput = "55x";
int value = int.TryParse(userInput, out int v) ? v : -1;
Console.WriteLine(value == -1 ? "Invalid input" : "Got " + value);
}
}종합하기
견고한 입력 흐름은 TryParse로 유효성을 확인하고, 실패하면 기본값을 사용한 다음 안전하게 계산합니다.
using System;
class Program
{
static int ReadAge(string input)
{
if (int.TryParse(input, out int age) && age >= 0)
return age;
return 0; // safe default
}
static void Main()
{
Console.WriteLine("Age: " + ReadAge("28"));
Console.WriteLine("Age: " + ReadAge("bad"));
}
}빠른 확인
파싱과 변환에 대한 이해도를 확인해 보십시오.
복습
텍스트를 숫자로 변환할 때는 int.Parse(잘못된 입력에서 예외 발생), int.TryParse(안전하며 부울 값과 out 값을 반환), 또는 Convert 클래스(널을 처리하고, 부동 소수점 값을 반올림하며, 여러 형식을 변환)를 사용할 수 있습니다. 신뢰할 수 없는 입력에는 TryParse를 우선 사용하고, 반대 방향으로 변환할 때는 ToString()을 사용하십시오.
using System;
class Program
{
static void Main()
{
if (int.TryParse("99", out int n))
Console.WriteLine("Value: " + n);
Console.WriteLine("Convert: " + Convert.ToInt32("7"));
}
}자주 묻는 질문
“Convert 클래스와 구문 분석” 강의는 무료인가요?
네 — “Convert 클래스와 구문 분석” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C# Academy 강의 전체를 잠금 해제할 수 있습니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“Convert 클래스와 구문 분석”에서 뭘 배우나요?
Convert와 TryParse로 구문 분석하고 변환합니다. 브라우저에서 직접 실행하는 실습 코드로 C# Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
C# Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 C# Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“Convert 클래스와 구문 분석” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 C# Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 C# Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 값 형식과 참조 형식 비교
- 박싱과 언박싱
- 암시적 및 명시적 변환
- Convert 클래스와 구문 분석