برنامهای بنویسید که رشتهای را از ورودی دریافت نموده و معکوس آن را در خروجی نمایش دهد؟ پروژهای است که هر دانشجو رشته کامپیوتر قطعا در دوران دانشجویی با آن روبرو خواهد شد.
معکوس رشته:
/// <summary> /// تابع جهت معکوس کردن یک رشته /// </summary> /// <param name="input"></param> /// <returns></returns> public static string ReverseString(string input) { var chars = input.ToCharArray(); Array.Reverse(chars); return new string(chars); }
معکوس اعداد:
/// <summary> /// تابع جهت معکوس نمودن اعداد /// </summary> /// <param name="number"></param> /// <returns></returns> public static int ReverseNumber(int number) { var reverseNumber = 0; while (number > 0) { reverseNumber = (reverseNumber * 10) + (number % 10); number = number / 10; } return reverseNumber; }
معکوس رشته با استفاده از دستور foreach:
/// <summary> /// /// </summary> /// <param name="input"></param> /// <returns></returns> public static string ReverseStringWithForeach(string input) { string str1 = input; string str2 = string.Empty; foreach (char chr in str1) { str2 = chr + str2; } return str2; }
معکوس رشته با استفاده از دستور Aggregate:
/// <summary> /// /// </summary> /// <param name="input"></param> /// <returns></returns> public static string ReverseStringWithAggregate(string input) { string str1 = input; return str1.Aggregate(string.Empty, (current, chr) => chr + current); }
معکوس رشته با استفاده از دستور for:
/// <summary> /// /// </summary> /// <param name="input"></param> /// <returns></returns> public static string ReverseStringWithFor(string input) { string res = ""; for (int i = 0; i < input.Length; i++) { res +=(input.Substring(i, input.Length - i) + " " + input.Substring(0, i)); } return res; }
منبع : www.omidnasri.com