2012-02-04 3 views
1

특정 코드 예제를 찾고 있지는 않지만 누군가가 끝에 '-1'을 사용할 수없는 이유를 설명 할 수 있습니까? 이 switch 문? char 형에 "리터럴이 너무 많다"는 말을 계속하고있다. (그와 비슷한 것). 이것을 다른 유형으로 변환해야합니까?스위치 문의 기본 섹션에있는 음수를 char로 사용합니다.

도움을 주셔서 감사합니다. 코드를 알려주지 말고 설명하십시오. 내가의 experiance에 손에 의해이 배우고 싶어요 : D

대문자로 참조 ProcessInput()에서 각 숫자에 대해 (해당 자리에 case 문을 문자를 번역하는
를 사용하여 스위치 문을 통과

변환 7 문자 및 유효하지 않은 문자
을위한 오류 코드 (-1)을 반환하는 유효한 각 대문자)이 부분* * * 쓰기 기본 케이스
*이 *문제 0 없음이 Invalide 문자 경우, '-1'때문에 0

static void ToDigit(ref char digit) 
    { 

     digit = Char.ToUpper(digit); 
     char result; 

     switch (digit) 
     { 
      case '0': result = '0'; 
       break; 

      case '1': result = '1'; 
       break; 

      case '2': 
      case 'A': 
      case 'B': 
      case 'C': result = '2'; 
       break; 

      case '3': 
      case 'D': 
      case 'E': 
      case 'F': result = '3'; 
       break; 

      case '4': 
      case 'G': 
      case 'H': 
      case 'I': result = '4'; 
       break; 

      case '5': 
      case 'J': 
      case 'K': 
      case 'L': result = '5'; 
       break; 

      case '6': 
      case 'M': 
      case 'N': 
      case 'O': result = '6'; 
       break; 

      case '7': 
      case 'P': 
      case 'Q': 
      case 'R': 
      case 'S': result = '7'; 
       break; 

      case '8': 
      case 'T': 
      case 'U': 
      case 'V': result = '8'; 
       break; 

      case '9': 
      case 'W': 
      case 'X': 
      case 'Y': 
      case 'Z': result = '9'; 
       break; 
       //Says I can't enter -1 as char "too many characters in character literal 
      default: result = 'e'; 
       break; 
     } 
     digit = result; 
    } 
+0

숙제? 적절한 태그를 추가하십시오. –

+0

반환 값의 타입이'void'이므로 분명히 아무 것도 반환 할 수 없습니다. 리턴 타입으로'int'가 필요합니다. – CodesInChaos

+0

Muad, 나는 숙제를하고 C#을 태그로 사용했다. : D – user1174357

답변

관련 문제