یک برنامهٔ کنسول C# بنویسید که با استفاده از DateTime.Now زمان شروع و پایان اجرای یک حلقهٔ محاسبات عددی ساده (مثلاً محاسبهٔ میانگین اعداد 1 تا N) را ثبت کند، مدت اجرا را محاسبه کرده و هر سه مقدار را هم در قالب ISO 8601 و هم در فرمت محلی نمایش و در یک فایل لاگ ذخیره کند.

7.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:37

0.0

برای حل این مسئله از DateTime.Now برای گرفتن زمان شروع و پایان بهره ببرید و با کم کردن این دو مقدار یک TimeSpan برای مدت اجرا به‌دست آورید؛ فرمت ISO 8601 را با ToString("o") و فرمت محلی را با ToString() یا قالب‌های تاریخ/زمان دلخواه نمایش دهید. برای ذخیرهٔ نتایج می‌توانید از System.IO.File.AppendAllText یا استفاده از یک logger ساده بهره ببرید؛ اگر دقت زمانی بیشتری خواستید از System.Diagnostics.Stopwatch استفاده کنید. این تمرین برای آشنایی با DateTime در C# کاربردی است و در دامنه‌های محاسبات عددی، اسکریپت‌نویسی خودکار و ثبت زمان در برنامه‌های وب مفید است.

توسط پژوهشگر در 221 روز قبل ساعت 01:37
دسته بندی ها: C# C# for beginner
arash در 221 روز قبل ساعت 12:37

برای دقت بیشتر در اندازه‌گیری مدت اجرا، استفاده از Stopwatch به جای محاسبهٔ تفاوت DateTime.Now را توصیه می‌کنم. اگر هم می‌خواهید از DateTime.Now استفاده کنید، سه مقدار Start، End و Duration را با ToString("o") برای ISO 8601 و با ToString() برای فرمت محلی نمایش بدهید و در یک فایل لاگ ذخیره کنید. برای ذخیرهٔ لاگ می‌توانید از File.AppendAllText استفاده کنید و در صورت وجود چند نخ همزمان، از یک قفل کوتاه بر روی نوشتن استفاده کنید تا تداخلی ایجاد نشود. همچنین مطمئن شوید Culture و منطقهٔ زمانی سیستم به‌درستی پیکربندی شده باشد تا قالب‌های محلی و ISO به‌طور یکسان و قابل‌فهم باقی بمانند.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری