سلام دوستان مي خواستم يك روش براي بر عكس كردن يك رشته با استفاده از حلقه ها و بدون استفاده از آرايه بهم پيشنهاد بدين ...( ممنونم )
سلام دوستان مي خواستم يك روش براي بر عكس كردن يك رشته با استفاده از حلقه ها و بدون استفاده از آرايه بهم پيشنهاد بدين ...( ممنونم )
public static class MethodExtensions
{
public static string Reverse(this string str)
{
if (str == null)
throw new ArgumentException("str is Null");
StringBuilder sb = new StringBuilder();
for (int i = str.Length - 1; i >= 0; i--)
sb.Append(str[i]);
return sb.ToString();
}
}
نحوه استفاده :
string stText="David";
stText.Reverse();
سلام
دوست عزيز بهترين و راحت ترين استفاده از (Regular expression)
http://www.windowsdevcenter.com/pub/...harp_0101.html
خيلي ممنون
فکر نمیکنم با Regex بشه یه همچین کاری کرد اگر یه نمونشو بزاری ممنون میشم .دوست عزيز بهترين و راحت ترين استفاده از (Regular expression)
این کد برای .Net 3 به بعد میباشد . و با استفاده از Method Extesions ها نوشته شده است من خودم تست کردم مشکلی نداشت .اينو امتحان كردم جواب نداد
دوست عزيز هيچ كارى نشد نداره من يك نمونه نوشته بودم پيداش بكنم حتما ميذارم اينجا كه ديگران هم استفاده كنن.
اين ۲ نمونه هم شايد به درد اين عزيز بخوره:
public static String Reverse(string input)
{
char[] reverse = newchar[input.Length];
for (int i = 0, k = input.Length - 1; i < input.Length; i++, k--)
{
if (char.IsSurrogate(input[k]))
{
reverse[i + 1] = input[k--];
reverse[i++] = input[k];
}
else
{
reverse[i] = input[k];
}
}
returnnew System.String(reverse);
}
public String Reverse(string str)
{
int len = str.Length;
char[] arr = newchar[len];
for (int i = 0; i < len; i++)
{
arr[i] = str[len - 1 - i];
}
returnnewstring(arr);
}
بزاری خوشحال میشم . اون پست قبلی هم برای این گفتم که کار Regular Expression چیز دیگه ای است .
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < textBox1.Text.Length; i++)
{
textBox2.Text = textBox1.Text[i] + textBox2.Text;
}
}
اینم یه مدلشه.
بهترین راه که به حافظه کمکی هم احتیاجی نداره اینه که دو تا نشانه در نظر بگیری . یکی به اولین کاراکتر رشتت و یکی هم به آخرین کاراکتر رشتت بعد بیایی و یکی یکی محتوای این دو تا رو عوض کنی و اولی رو یکی ببری جلو و دومی رو هم یکی بیاری عقب .
اینکارو اونقدر انجام میدی تا یا این دو تا به هم برسن و یا اولی از دومی رد بشه ( بزرگتر بشه ) .
اینجوری به راحتی رشتت برعکس میشه . کلش هم یه for با خط که جابجایی رو انجام میده یعنی دو تا خط میشه .