我正在使用C#處理電話號碼轉換器代碼,努力將任何字母字符替換爲電話鍵上相應的數字。在此處的代碼中,變量結果已經有一個10個字符,這是一個數字和字母的組合。正如你在代碼中看到的,我試圖通過開關盒使用Replace方法,但它給了我錯誤的結果。任何想法?謝謝。 對不起,我忘記提及數組不允許在這個項目中使用,只是條件和重複.Ah,它是控制檯C#。替換方法不起作用,C#
for (int i = 0; i < result.Length; i++)
{
switch (buffer)
{
case "A":
case "B":
case "C": myNumber = result.Replace(buffer, "2");
break;
case "D":
case "E":
case "F": myNumber = result.Replace(buffer, "3");
break;
case "G":
case "H":
case "I": myNumber = result.Replace(buffer, "4");
break;
case "J":
case "K":
case "L": myNumber = result.Replace(buffer, "5");
break;
case "M":
case "N":
case "O": myNumber = result.Replace(buffer, "6");
break;
case "P":
case "Q":
case "R":
case "S": myNumber = result.Replace(buffer, "7");
break;
case "T":
case "U":
case "V": myNumber = result.Replace(buffer, "8");
break;
case "W":
case "X":
case "Y":
case "Z": myNumber = result.Replace(buffer, "9");
break;
}
Console.WriteLine("({0})-{1}-{2}", myNumber.Substring(0, 3), myNumber.Substring(3, 3), myNumber.Substring(6, 4));
'buffer'從哪裏來?我覺得你在'switch'之前遺漏了一行代碼,它將一個值賦給'buffer'。 – rikitikitik
什麼是'緩衝區'?它不應該是'result.Chars [i]'? –
heck是從6到4的子串怎麼沒吹? –