موضوعات وبسایت : برنامه نویسی
سوالات امتحان آیین نامه رانندگی

چاپ تعداد ارقام در سی شارپ

نویسنده : نازنین رحمانی | زمان انتشار : 09 بهمن 1400 ساعت 22:32

جهت انجام پروژه های دانشجویی و یا تمرین‌های برنامه نویسی رشته کامپیوتر میتوانید به آی دی تلگرام زیر پیام دهید

@AlirezaSepand



سوالات امتحان آیین نامه رانندگی

بدست آوردن تعداد ارقام عدد!

سلام، چند روز پیش با یک کد خیلی جالب برخورد کردم که برای بدست آوردن تعداد ارقام یک عدد، تابعی نوشته بودن که در نگاه اول برام مسخره اومد، ولی با دقیق تر شدن توی کدش دیدم برنامه نویسش عالی و خلاقانه عمل کرده!

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

من کد رو بصورت Extension Method در آوردم تا استفاده ازش راحت تر باشه:

void Main()
{
	Console.WriteLine((9999).GetLength().ToString());  //output: 4
}
 
public static class UsefulExtensions
{
	public static int GetLength(this int digit)
	{
		if(digitif(digitreturn 1;
		if(digitreturn 2;
		if(digitreturn 3;
		if(digitreturn 4;
		if(digitreturn 5;
		if(digitreturn 6;
		if(digitreturn 7;
		if(digitreturn 8;
		if(digitreturn 9;
		//go on for larger numbers...
		return 0;
	}
}

بنظرم باید همواره سعی کنیم کدهامون رو با بازنگری از لحاظ زیبایی و سرعت بهبود ببخشیم.

آیا این مطلب برای شما مفید بود؟


منبع: www.w3-farsi.com



ارسال نظر

نام


ایمیل


نظر