C#翻译输入
我有一个WinForm,在第一个我有用户输入的文本框中有两个文本框,如果我单击一个按钮,并在第二个文本框中给出它,则必须使用此方法翻译输入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
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的内容搞乱了。谢谢大家!