forループを処理するプログラムを用意しています。すべての文字を1つずつ読み込み、case文を使用して特定の文字に対応する4桁の数字に置き換えます。C# - NewLine文字を文字列で読み取る場合
私の問題は、NewLine文字( '\ n')を読んでいないことと、これを修正する方法がわかりません。
は、ここに私のコードです:
for (int i = 0; i < inputTextBox.Text.Length; i++)
{
//Encryption
switch (inputTextBox.Text[i])
{
// I got rid of the rest of the cases
// as they are not relevant
case '\n':
encryptedString = encryptedString + "8024";
break;
}
}
し、それが文字として改行を受け付けていないので、それはencryptedStringに追加されません。
これは重複した質問のように見えるかもしれませんが、私が見つけた他の投稿は実際はまったく別の状況です。
EDIT --------------------------------------------- -------------------------------------------------- ----------------------------- デバッグ後、実際には '\ n'が読まれていませんそれをデコードするときに文字列に書き込む。ここ
は、復号化部のためのコードです:
for (int i = 0; i < readString.Length; i = i + 4)
{
//Decryption
switch (readString.Substring(i, 4))
{
case "8024":
decryptedString = decryptedString + "\n";
break;
}
}
inputTextBox.Text = decryptedString;
だから、 "decryptedString = decryptedString + "\ n個に達しています";"何らかの理由で文字列に新しい行を追加していないだけです。私はまた、確かに "\ n"の代わりに "\ n"を試しました。
まあ、明白な質問は...あなたのテキストボックスに改行がありますか(複数行ですか?)サイドノート:StringBuilderを使用し、文字列を連結すると非常に効率が悪いです。 –
私は簡単なテストを行い、それは私のために働いています(つまり、そのケースに当たっています)。あなたはデバッグを試みましたか? ''\ n' 'のためにあなたのケースに当たったのですか?私は "なぜこのコードは機能していないのですか"という話題としてこれを閉じようとしています。 –
@roryap今質問を編集しましたが、実際に文字列に新しい行が追加されていないので、うまくいけば助けてください。 – TacoMakerMan