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

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

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

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

اگر فقط بخواهیم از 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 استفاده کردم که بسیار کار رو راحت تر کرده.

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

موفق باشید :)

FacebookTwitterGoogle+Share

ملاقات با سی شارپ

قبل تر، خیلی خیلی در مقابل یادگیری سی شارپ، مقاومت میکردم. یکی از مشکلاتی که اکثر کتابهای سی شارپ موجود داشتند، این بود که برنامه نویسی رو با نقاشی اشتباه گرفته بودند . در واقع، این که بیایم در یک کتابی که مدعی حرفه ای بودن سطح آموزش هست، از اینکه چطور یک Button رو در محیط گرافیکی به کمک ماوس بکشیم، حرف بزنیم، نشون میده میخوایم یک حیطه خیلی خاص رو به کاربر یاد بدیم. عمده این کتابها هم طوری هستن که کاربر خیلی خیلی زود، ازش دلزده میشه (یکیش خودم :) ). خب اولین باری که تلاش کردم سی شارپ رو یاد بگیرم اول دبیرستان بودم. دقیقا ۴ سال پیش همین موقع ها! و خب کتابی که تهیه کردم همونطور بود و با نوشتن دو سه تا برنامه ساده چقدر ذوق زده شدم و فلان و بهمان. از این حرف ها بگذریم، الان که ترم دوم دانشگاه هستم، توفیق اجباری شده تا در سی شارپ رو یاد بگیرم (لفظ توفیق به کار برده شد تا بگم که یادگیری همیشه خوبه، حتی اگر چیزی که داری یاد میگیری، بی کاربرد یا حتی مزخرف باشه) و خب با سینتکس سی شارپ آشنا شدم. امروز تصمیم گرفتم چندین خط کد بزنم. پس بیاید در این کد زدن ها با من همسفر بشید.

سی شارپ در لینوکس

زیاد روده درازی نمی کنم، قصد اسکرین شات گذاشتنم ندارم (:D) ، ولی خب برای استفاده از این زبان در لینوکس کد زیر رو اجرا کنید :

sudo apt-get install monodevelop

بعد از نصب میتونید monodevelop رو اجرا کنید و از کد زدن با سی شارپ لذت ببرید :)

اولین برنامه من

در اولین برنامه سعی کردم به چاپ یک رشته احمقانه (مثل Hello World و …) بسنده نکنم. هر کانسپتی از C و ++C داشتم رو پیاده کردم. توی این کد هم کلاس ایجاد کردم، هم تابع نوشتم، هم از کاربر ورودی گرفتم، هم از حلقه تکرار استفاده کردم و … ! در واقع هرچه میدانستم پیاده کردم بدون هیچ مشکلی هم کار کرد (البته ناگفته نماند که خیلی جاهاش رو هم کمک گرفتم!) . این کد من بعد از یکی دو ساعت کار با سی شارپ :

using System;

namespace HelloWorld
{
	class Test
	{
		public static int Method(int a){
			return a;
		}
	}

	class MainClass
	{
		public static void Message(){
			Console.WriteLine ("Welcome to My Program!");
		}
		public static int SimpleFunction(int a){
			return a;
		}
		public static void Main (string[] args)
		{
			Message (); 
			Console.Write ("Enter a value: ");
			int j = Convert.ToInt32 (Console.ReadLine ());
			int i;
			for (i = 0; i<= j; i++) {
				Console.WriteLine (i);
			}
			Console.WriteLine (Test.Method(i));
		}
	}
}

جمع بندی و نکات حائز اهمیت

اگر زبانهایی مثل C یا ++C رو بلدید، دنبال سی شارپ هم بیاید، ضرر نمی کنید. فقط یک زبان C-like که تا حد زیادی با جاوا ترکیب شده رو تجربه میکنید. تجربه سی شارپ با مونو هم تجربه جالبیه! اما خب حس قشنگی نیست که فایل exe روی لینوکس اجرا بشه (مثل شتر سواری روی سطح اقیانوس میمونه یه جورایی!) ، ولی خب یادگیری هیچوقت بد نیست. بخصوص اگر مجبور باشید و درسی مثل برنامه سازی پیشرفتتون، در گرو این زبان باشه ((((: .

FacebookTwitterGoogle+Share

دانلود جزوه سیستم اعداد به فرمت PDF

با سلام.

اون دسته از دانشجویان رشته کامپیوتر (چه نرم افزار و چه سخت افزار) که نیاز دارند تا سیستم اعداد رو بهتر یاد بگیرند، میتونن این جزوه رو مطالعه کنند. این جزوه رو خودم چندین بار بررسی کردم و همه چیزش خوب و به جاس، و حجمش هم کمه و برای مطالعه سریع میشه ازش استفاده کرد.

دانلود جزوه

FacebookTwitterGoogle+Share