C#翻译输入

C#翻译输入,c#,string,stringbuilder,C#,String,Stringbuilder,我有一个WinForm,在第一个我有用户输入的文本框中有两个文本框,如果我单击一个按钮,并在第二个文本框中给出它,则必须使用此方法翻译输入 public static string Translate(string text) { var from = "abcdefghijklmnopqrstuvwxyz"; var to = "jkhinolmrspqvwtuzGbcJafgde"; var ret = new StringBuilder(); foreach

我有一个WinForm,在第一个我有用户输入的文本框中有两个文本框,如果我单击一个按钮,并在第二个文本框中给出它,则必须使用此方法翻译输入

public static string Translate(string text)
{
    var from = "abcdefghijklmnopqrstuvwxyz";
    var to = "jkhinolmrspqvwtuzGbcJafgde";
    var ret = new StringBuilder();
    foreach (var l in text)
    {
        int index;
        for (index = 0; index <= from.Length; index++)
            if (index == from.Length || from[index] == l)
               break;
        ret.Append(index != from.Length ? to[index] : l);
    }
    return ret.ToString();
}
公共静态字符串翻译(字符串文本)
{
var from=“abcdefghijklmnopqrstuvxyz”;
var to=“jkhinolmrspqvwtuzGbcJafgde”;
var ret=新的StringBuilder();
foreach(文本中的var l)
{
整数指数;
对于(索引=0;索引
我只是不知道如何在winForm中使用这一点,并提供一个用户输入
第二个文本框中的输出

假设您的功能正常工作,请执行以下操作:

textbox2.Text = Translate(textbox1.Text);

最好将其包装在try/catch块中。

String。IndexOf
可能会对您有很大帮助。不要使用内部for循环,而是尝试使用
IndexOf
字符串中获取
中特定字符的索引。然后使用数组下标概念
to
,以及中从
返回的值dexOf
获取翻译后的字符。还值得一提的是,有一种更简洁的方法可以执行此任务:
公共字符串反向(字符串文本){if(text==null)返回null;char[]array=text.tocharray();array.Reverse(数组);返回新字符串(数组);}
我的主要问题是,如果我点击“翻译”按钮,如何在我的第二个文本框中输入此内容。我知道这是最简单的,但……我不知道如何制作此内容。明白了,我只是切换了一个错误:x谢谢伙计们!好吧,没想到会这么容易,谢谢伙计!现在我只需完成此操作。它只是删除了1.Textbox中的文本,然后就可以了没有。上面的可能应该是
textbox2.Text=Translate(textbox1.Text);
,假设您的文本框被称为
textbox1
textbox2
。此外,您需要将该行放在合理的位置(例如,在按钮的单击事件处理程序中,当用户单击按钮时,第二个文本框的文本将被更新)。是的,已修复。我刚刚将TextBox1和TextBox2的内容搞乱了。谢谢大家!