0

我正在尝试进入 asp.NET 的世界,并且正在尝试一些东西。

我走远了??

     <br />
    <asp:TextBox ID="txtoriginal" runat="server"></asp:TextBox>

<asp:Button ID="btnCount" runat="server" Text="reverse" 
        onclick="btnCount_Click" />

    <asp:Label ID="lblAnswer" runat="server"></asp:Label>

</form>

所以这是我遇到麻烦的部分

    protected void btnCount_Click(object sender, EventArgs e)
    {


        lblAnswer.Text = txtoriginal.Text;

        stroriginalText = txtoriginal.Text;
        strReverse = stroriginalText.ToCharArray();
        Array.Reverse(strReverse);
        lblAnswer.Text = strReverse;
    }
}
}
4

5 回答 5

5

您需要从以下位置创建一个新stringchar[]

char[] chars = txtoriginal.Text.ToCharArray();
Array.Reverse(chars);
blAnswer.Text = new string(chars);

但请注意,反转字符串与反转字符序列不同。

见: https ://codeblog.jonskeet.uk/2009/11/02/omg-ponies-aka-humanity-epic-fail/

在此处输入图像描述

在此处输入图像描述

于 2013-08-30T09:23:31.863 回答
1

你可以为此编写一个扩展方法

public static string Reverse(this String s )
{
    char[] charArray = s.ToCharArray();
    Array.Reverse( charArray );
    return new string( charArray );
}

并这样称呼它

lblAnswer.Text = txtoriginal.Text.Reverse();
于 2013-08-30T09:25:51.147 回答
0
 protected void btnCount_Click(object sender, EventArgs e)
  {
     string Str, Revstr = "";                
     str=(txtoriginal.Text);
       for (int i = Str.Length - 1; i >= 0; i--)
        {
             Revstr = Revstr + Str[i];
        }
        lblAnswer.Text= Revstr;
  }

我想这会帮助你..

于 2013-08-30T09:29:17.177 回答
0

你可以尝试这样的事情:

str = string.Join("", str.Reverse());

所以你的代码变成:

lblAnswer.Text = string.Join("",txtoriginal.Text.Reverse());

当然如果你已经包含了 Linq 命名空间

于 2013-08-30T09:30:43.763 回答
0

我相信当你从 char[] 创建一个新字符串时你可以解决这个问题。像这样的东西:

char[] strChars = txtOriginal.Text.ToCharArray();
Array.Reverse(strChars);
blAnswer.Text = new string(strChars);

问候。

于 2017-07-03T21:30:19.027 回答