cs
1textValue = string.Concat(textBox1.Text.Replace(" ", "").Replace(" ", ""));
は、textBox1
に入っている文字列の空白を削除しtextValue
に代入します(Concat
はいらないが、あってもエラーではないです)
つまり前の行でやった逆並び変換は、上書きされてなかったことになってしまいます。
目的の処理をわかりやすく各変数を割り当てるとこうなります。
cs
1private void button1_Click(object sender, RoutedEventArgs e)
2{
3 // textBox1に入力したテキストを取得
4 string inputText = textBox1.Text;
5
6 //取得した文字列を逆並びに変換
7 string reverseText = string.Concat(inputText.Reverse());
8
9 //逆並びした文字列の空白を削除
10 string trimText = reverseText.Replace(" ", "").Replace(" ", "");
11
12 //空白を削除した文字列をtextBox2に出力
13 textBox2.Text = trimText;
14}
この程度の処理であれば変数名を考えるのも手間なので、同じ変数に再代入することもあります。
cs
1private void button1_Click(object sender, RoutedEventArgs e)
2{
3 // textBox1に入力したテキストを取得
4 string text = textBox1.Text;
5
6 //取得した文字列を逆並びに変換
7 text = string.Concat(text.Reverse());
8
9 //逆並びした文字列の空白を削除
10 text = text.Replace(" ", "").Replace(" ", "");
11
12 //空白を削除した文字列をtextBox2に出力
13 textBox2.Text = text;
14}
自分ではわかりきっているところ(textBox1
からtextBox2
に入れる)を省いて、このくらいにしてもいいでしょう。
cs
1private void button1_Click(object sender, RoutedEventArgs e)
2{
3 //逆並び変換
4 string text = string.Concat(textBox1.Text.Reverse());
5 //空白を削除
6 textBox2.Text = text.Replace(" ", "").Replace(" ", "");
7}
1行で書くこともできますが、やりすぎるとわかりにくくなります。
cs
1private void button1_Click(object sender, RoutedEventArgs e)
2{
3 textBox2.Text = string.Concat(textBox1.Text.Reverse()).Replace(" ", "").Replace(" ", "");
4}
改行(\r\n
)がある場合は、もうひと手間入れる必要がありますね。