در C# یک متد بنویسید که یک تاریخ شروع و یک آرایه از تاخیرها بر حسب میلیثانیه دریافت کند و با استفاده از DateTime.AddMilliseconds برای هر تاخیر تاریخ هدف را محاسبه کرده و بهصورت لیستی از تاریخها برگرداند.
8.0 بازدید آخرین ویرایش در 203 روز قبل ساعت 02:38 0.0
برای حل این مسئله یک متد با پارامترهای DateTime start و IEnumerable یا IEnumerable delays بسازید، سپس برای هر مقدار تاخیر از start.AddMilliseconds(delay) استفاده کنید و نتیجهها را در لیستی جمعآوری کنید. در پیادهسازی به نکاتی مانند جلوگیری از سرریز (DateTime.MaxValue)، توجه به DateTime.Kind (Local/Utc) و احتمال نیاز به استفاده از DateTimeOffset برای زمانهای مطلق توجه کنید. برای کاربرد در وب و اسکریپتسازی خروجیها را میتوان به فرمت ISO 8601 تبدیل کرد و در محاسبات عددی دقت را با استفاده از نوع double یا تبدیل مناسب کنترل نمود.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته مهم این است که با استفاده از AddMilliseconds باید از سرریز جلوگیری کنید؛ قبل از جمع با تاخیر، مقدار delay را بررسی کنید یا از DateTimeOffset استفاده کنید تا خطای منطقه زمانی کم شود. همچنین اگر قصد دارید خروجی را برای وب یا اسکریپتنویسی به ISO 8601 تبدیل کنید، نگهداری DateTime.Kind و یا استفاده از DateTimeOffset توصیه میشود تا زمان مطلق بهدرستی نمایش داده شود. برای دقت محاسبات عددی، میتوانید از TimeSpan یا تبدیل دقیق مانند استفاده از double برای میلیثانیهها بهره ببرید تا کنترل بهتری بر روی دقت داشته باشید.
گزارش