2017-08-07 12 views
-5

私は単純な、モールスコードの翻訳者に取り組んでいます。私は文字列の最後に文字を追加することができますか?たとえば、 '---'は 'O'です。文字列の最後に文字/句を追加するにはどうすればよいですか?

+0

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/strings/how-to-concatenate複数の文字列文字列を一緒に追加するために '+'演算子を使うことができます –

+0

どのコンテキストに追加しますか?基本文字列の最後に追加するには、文字通り '+ ='を実行します。 "C#add strings"を検索するだけでたくさんの例が得られることを考慮すると、簡単に**これを自分で調べることができました。 –

+0

+ =を使用します。 StringBuilderを使用します。私は本当に答えを与えるのが好きですが、これはかなり単純な主題です。おそらく最初にtutorialspoint.comを試して、簡単な構文の "how-to"の質問をしてください。 – James

答えて

0
 Dictionary<char, String> morseCode = new Dictionary<char, String>() 
     { 
      {'a' , ".-"},{'b' , "-..."},{'c' , "-.-."}, 
      {'d' , "-.."},{'e' , "."},{'f' , "..-."}, 
      {'g' , "--."},{'h' , "...."},{'i' , ".."}, 
      {'j' , ".---"},{'k' , "-.-"},{'l' , ".-.."}, 
      {'m' , "--"},{'n' , "-."},{'o' , "---"}, 
      {'p' , ".--."},{'q' , "--.-"},{'r' , ".-."}, 
      {'s' , "..."},{'t' , "-"},{'u' , "..-"}, 
      {'v' , "...-"},{'w' , ".--"},{'x' , "-..-"}, 
      {'y' , "-.--"},{'z' , "--.."}, 
      {'0' , "-----"},{'1' , ".----"},{'2' , "..----"},{'3' , "...--"}, 
      {'4' , "....-"},{'5' , "....."},{'6' , "-...."},{'7' , "--..."}, 
      {'8' , "---.."},{'9' , "----."}, 
     }; 

     string userText = "String To Test"; 

     userText = userText.ToLower(); 

     var sb = string.Empty; //var sb = new StringBuilder(); 

     for (int index = 0; index < userText.Length; index++) 
     { 
      var t = userText[index]; 

      if (t != ' ') 
      { 
       string morseValue; 

       if (morseCode.TryGetValue(t, out morseValue)) 
       { 
        sb += morseValue + " "; //or sb.Append(morseValue + " "); 
       } 
      } 
      else { 
       sb += "\n"; //or sb.Append("\n"); 
      } 
     } 

     Console.WriteLine(sb); // or Console.WriteLine(sb.ToString()); 

私は両方の例を示しました。 http://rextester.com/OYGUG79820

+0

間違いを修正しました。ありがとうございます。 – Laurianti

0

あなたがそれらを一緒に連結します文字列の+演算子、使用することができます:私たちは、それぞれに変換しているループのように、多くの文字列を連結するために

var code = "...." + " " + ".."; // This will result in: ".... .." 

をあなたはそれがここにしようとテストしたい場合文字とそれを付加し、StringBuilderを使用して高速で、より少ないメモリを使用しています:

public static string MorseEncode(string inputString) 
{ 
    if (inputString == null) return null; 

    var codeBuilder = new StringBuilder(); 

    foreach (char input in inputString) 
    { 
     // Assuming you have a method to get the morse code for a char 
     string encodedChar = GetMorseCode(input); 

     // Append our encoded char to our StringBuilder 
     codeBuilder.Append(encodedChar); 
    } 

    // Return the String representation of our StringBuilder 
    return codeBuilder.ToString(); 
} 
関連する問題