강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

재상님의 프로필 이미지
재상

작성한 질문수

C# 프로그래밍 기초부터 실전 활용까지

if, 삼항 연산자

영상 구문 그대로 따라했는데 에러가 나요.

작성

·

11

0

int number = int.Parse(input ?? "0")

이 구문을 따라하고 실행 한 다음 바로 엔터를 눌렀더니 에러가 발생합니다.

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 재상님.

질문하신 내용을 기반으로, int.Parse와 관련된 몇 가지 사항을 설명드리겠습니다. 코드에서 input ?? "0"inputnull일 경우 “0”으로 대체하는 의미입니다.

  1. Null 해제 연산자 ‘??’ 사용:

    • 이는 null 병합 연산자로, input 변수가 null일 경우 “0”으로 대체하겠다는 것을 의미합니다.
  2. 에러가 발생하는 이유:

    • 만약 input 변수에 null 값이 할당되지 않고 공백이 들어간 경우, int.Parse는 공백을 처리할 수 없어 예외를 발생시킵니다.
  3. 해결 방법:

    • 기본적으로 공백이나 잘못된 문자열을 정수 변환 시도할 때 처리를 위한 추가적인 예외 관리가 필요합니다. 예를 들어, int.TryParse를 사용하여 안전하게 변환할 수 있습니다:
     int number;
     if (!int.TryParse(input, out number))
     {
         number = 0; // 변환 실패 시 기본값 설정
     }
    

관련된 추가 정보와 예제를 다룬 기존의 질문을 참고하시기 바랍니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

재상님의 프로필 이미지
재상

작성한 질문수

질문하기