Simple Encoder使用String.Replace()方法

时间:2014-12-17 03:27:25

标签: c# string replace wpf-controls messagebox

我正在编写一些软件,它接受一个给定的字符串并替换字母来创建一个"代码"。这是我的代码:

string v = this.EncodeInput.ToString().ToUpper();

string result = v.Replace("A","s")
                 .Replace("B", "y")
                 .Replace("C", "t")
                 .Replace("D", "g")
                 .Replace("E", "c")
                 .Replace("F", "x")
                 .Replace("G", "v")
                 .Replace("H", "e")
                 .Replace("I", "d")
                 .Replace("J", "l")
                 .Replace("K", "n")
                 .Replace("L", "k")
                 .Replace("M", "0")
                 .Replace("N", "1")
                 .Replace("O", "9")
                 .Replace("P", "a")
                 .Replace("Q", "q")
                 .Replace("R", "2")
                 .Replace("S", "z")
                 .Replace("T", "5")
                 .Replace("U", "w")
                 .Replace("V", "f")
                 .Replace("W", "7")
                 .Replace("X", "6")
                 .Replace("Y", "4")
                 .Replace("Z", "m")
                 .Replace("1", "j")
                 .Replace("2", "3")
                 .Replace("3", "r")
                 .Replace("4", "h")
                 .Replace("5", "u")
                 .Replace("6", "0")
                 .Replace("7", "8")
                 .Replace("8", "i")
                 .Replace("9", "p")
                 .Replace("0", "b");

我相信这没关系。然后,我试图在MessageBox中显示它的输出。这是代码:

MessageBox.Show(result);

有效......有点儿。盒子显示很好,但它充满了胡言乱语。以下是输入" A":

的输出内容

Message Box

我无法弄清楚为什么 - 它应该输出" s"。它显示完全相同的字符串,无论输入内容是什么。例如,我可以输入" Hello",它会显示同样的事情。

以下是我的报告XAML:

<TextBox HorizontalAlignment="Stretch" Margin="20,79,20,56" Name="EncodeInput"/>
            <Button HorizontalAlignment="Right" Width="78" Height="25" VerticalAlignment="Bottom" Margin="0,0,20,15" Content="Encode Now"  Click="Encode_It"/>

换句话说,为什么出现了胡言乱语,而不是我的变数?

1 个答案:

答案 0 :(得分:1)

更正如下所示的语法(假设EncodeInputTextBox的名称):

string v = this.EncodeInput.Text.ToUpper();

谢谢和问候,