using System; using System.Collections.Generic; using System.Text;namespace _ { class Test { public static void Main() { string c; Console.ReadLine(c); string.tochararray(c); } } } 我就写出了这一点
private void button2_Click(object sender, EventArgs e) { string txt = this.textBox1.Text.Trim().Substring(this.textBox1.Text.Trim().Length - 1); int intAsciiCode = 0; for (int i = 0; i < textBox1.Text.Trim().Length - 1; i++) { intAsciiCode = (int)ASCIIEncoding.ASCII.GetBytes(this.textBox1.Text.Trim().Substring(i, 1))[0]+3; byte[] byteArray = new byte[] { (byte)intAsciiCode }; txt+=ASCIIEncoding.ASCII.GetString(byteArray); } textBox2.Text = txt; }
根据jimu8130的思路写的代码 string s = textBox1.Text; char[] c = s.ToCharArray(); c[0] = s[s.Length - 1]; for (int i = 1; i < s.Length-1; i++) c[i] = (char)((int)c[i] + 3); s = new string(c);//s是结果
然后将其字符对应的ascii码加三得到新的字符的ascii码,并转化为字符(注意有的字符+3就越界了,注意保护)
using System.Collections.Generic;
using System.Text;namespace _
{
class Test
{
public static void Main()
{ string c;
Console.ReadLine(c);
string.tochararray(c); }
}
}
我就写出了这一点
{
string txt = this.textBox1.Text.Trim().Substring(this.textBox1.Text.Trim().Length - 1);
int intAsciiCode = 0;
for (int i = 0; i < textBox1.Text.Trim().Length - 1; i++)
{
intAsciiCode = (int)ASCIIEncoding.ASCII.GetBytes(this.textBox1.Text.Trim().Substring(i, 1))[0]+3;
byte[] byteArray = new byte[] { (byte)intAsciiCode };
txt+=ASCIIEncoding.ASCII.GetString(byteArray);
}
textBox2.Text = txt; }
不过碰到中文就惨了.
char[] c = s.ToCharArray();
c[0] = s[s.Length - 1];
for (int i = 1; i < s.Length-1; i++)
c[i] = (char)((int)c[i] + 3);
s = new string(c);//s是结果