2013-08-30 68 views
0

我想进入asp.net的世界,我正在尝试一些东西。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> 

所以这是部分IM就吃麻烦

protected void btnCount_Click(object sender, EventArgs e) 
    { 


     lblAnswer.Text = txtoriginal.Text; 

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

什么问题?你的char数组中是否缺少'ToString()'? – Sayse

+0

请注意以这种方式反转字符串的谬误:[http://msmvps.com/blogs/jon_skeet/archive/2009/11/02/omg-ponies-aka-humanity-epic-fail.aspx](OMG Ponies! !!(Aka Humanity:史诗般的失败))...搜索'像你一样写一些代码来反转一个字符串' – xanatos

+0

我希望我能说我失踪的东西..我尝试了一些不同的解决方案,但我必须错过了一些东西,虽然 – user2141649

回答

1

你可以写一个扩展方法,这

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

,并调用它

lblAnswer.Text = txtoriginal.Text.Reverse(); 
+0

那么为什么它不起作用的答案是因为它不是扩展方法? ;-) –

+0

ofcourse not。你已经回答了,所以我虽然给了它一点点的转折。 – Ehsan

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; 
    } 

我认为这将帮助你..

+0

是不是有点太表现抑制? – samar

0

你可以尝试这样的事情:

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

使你的代码变成:

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

当然,如果你有包括Linq命名空间

0

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

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

问候。