لقمه را دور سر نچرخانیم – برعکس کردن یک رشته در سی شارپ

با سلام و عرض ادب خدمت خوانندگان وبلاگ. در این پست قصد دارم یکم سی شارپ رو بررسی کنم. سی شارپ، یکی از دلایل محبوب شدنش، اینه که سینتکس نسبتا ساده ای داره، ولی همین رو هم میشه پیچوند 🙂 .

مثلا این سوال رو در نظر بگیرید :

برنامه ای بنویسید که یک رشته کاراکتری از ورودی دریافت کرده و سپس آن را برعکس در خروجی قرار دهد. 

اگر فقط بخواهیم از System استفاده کنیم و یک تابع ساده بنویسیم، کد ما میشه این :

کد   
using System;
 
namespace ReverseName
{
	class MainClass
	{
		public static void NameReverse(string name){
			for (int i = name.Length; i > 0; i--){
				Console.Write(name.Substring(i-1, 1));
			}
		}
		public static void Main (string[] args)
		{
			//Challenge Accepted!
			Console.Write ("Enter a name: ");
			string n = Console.ReadLine ();
			NameReverse (n);
		}
	}
}

(اون Challenge Accepted داستانی داره که بعدا تعریف خواهم کرد 😀 ).

خب با یکم بررسی می بینید که این کد، خروجی به صورت رشته ای نداره (دستور Console.Write) و نمیشه ازش جاهایی که لازمه، استفاده کنیم. پس بهتره به جای System از System.Linq استفاده کنیم و کد رو خلاصه کنیم :

کد   
using System;
using System.Linq; 
namespace ForEach
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			Console.Write ("Enter your name: "); 
			string name = Console.ReadLine (); 
			foreach (char c in name.Reverse()) {
				Console.Write (c);
			}
 
		}
	}
}

و اگر دقت کنید به جای اون for ، از foreach استفاده کردم که بسیار کار رو راحت تر کرده.

امیدوارم هر وقت خواستید کد بزنید، به این شکل و به خلاصه ترین شکل ممکن کدتون رو بنویسید.

موفق باشید 🙂

Share

7 دیدگاه در “لقمه را دور سر نچرخانیم – برعکس کردن یک رشته در سی شارپ”

  1. سلام
    کد دوم هم که خروجی رشته ای نداره!!!!!!
    اون System.Linq هم اضافیه!!! درسته کد شما کوتاه تر شده اما توضیحات پستتون متاسفانه بی ربطه و معلومه آشنایی چندانی با سی شارپ ندارین.
    اما بازم خسته نباشین بهرحال اینکه تجربیاتتون رو با بقیه share میکنین خودش خیلی ارزشمنده

    1. دوست عزیز :
      ۱. سی شارپ ارزشش رو نداره که باهاش آشنایی پیدا کنم.
      ۲. بررسی میکنم نوع خروجی دوم رو.
      و در آخر تشکر بابت نظرتون 🙂

  2. فرض کن سر امتحان اینو بنویسی:
    echo “Hello” | rev
    و بعد تهش بنویسی «سی‌شارپ کیلو چن؟»

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *