2015-09-05 2 views
0

Я пытаюсь преобразовать строку в int. Я думаю, что я прав, но что еще мне нужно сделать? В разделе «Перерыв» я получаю зеленую строку с сообщением «обнаруженный недостижимый код». Кроме того, что я скажу, чтобы он вернулся? Я положил случайное число после возвращения, потому что я забыл о том, что я должен попросить вернуть.Использование case Break для преобразования строки в int C#

namespace BattleShip.UI 
{ 
    class TranslateNumberToLetter 
    { 
     public int NumberToLetter(string Letter) 
     { 
      switch (Letter) 
      { 
       case "A":return 1; 
       break; 
       case "B": return 2; 
       break; 
       case "C": return 3; 
       break; 
       case "D": return 4; 
       break; 
       case "E": return 5; 
       break; 
       case "F": return 6; 
       break; 
       case "G": return 7; 
       break; 
       case "H": return 8; 
       break; 
       case "I": return 9; 
       break; 
       case "J": return 10; 
       break; 
       default: return -100; 
      } 
     } 
    } 
} 
+1

, как вы возвращаетесь до перерыва, вы, безусловно, можете опустить его – HubertL

+0

42 универсально хорошее возвращаемое значение :) .. Как SO должен знать, что вы хотите вернуться из функции? Ответная часть о «недоступном коде» - [дубликат] (http://stackoverflow.com/questions/2643661/unreachable-code-detected-in-case-statement). –

+1

Сторона примечания: NumberToLetter - странное имя, преобразующее письмо в число ... –

ответ

1
public int NumberToLetter(string Letter) 
{ 
    if ("ABCEDFGHIJ".Contains(Letter)) 
     return "ABCEDFGHIJ".IndexOf(Letter) + 1; 
    return -100; 
} 
+0

Varocarbas, спасибо .. Я попробую это. –

Смежные вопросы