یک برنامهٔ ساده در C# بنویسید که دو آرایهٔ داده‌های حسگر (double[]) را گرفته و با استفاده از List.AddRange آنها را در یک لیست واحد ترکیب کند و سپس میانگین و بیشینهٔ مقادیر را محاسبه و چاپ نماید.

14.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 01:29

0.0

برای حل این مسئله از System.Collections.Generic.List استفاده کنید؛ می‌توانید ابتدا لیستی با ظرفیت مجموع طول دو آرایه ایجاد کنید (new List(a.Length + b.Length)) و سپس با list.AddRange(array1) و list.AddRange(array2) مقادیر را اضافه کنید. برای محاسبهٔ میانگین و بیشینه از System.Linq (list.Average(), list.Max()) یا یک حلقهٔ ساده استفاده کنید؛ نکتهٔ عملکردی: AddRange خواناتر و سریع‌تر از افزودن تک‌تک عناصر است و در زمینه‌های تحلیل داده یا محاسبات با کارایی بالا پیش‌پیش‌تخصیص ظرفیت لیست می‌تواند از بازتخصیص‌های پرهزینه جلوگیری کند.

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

قبل از افزودن آرایه‌ها با AddRange حتماً چک کنید که آرایه‌ها null نباشند تا NullReferenceException پیش نیاید. اگر هر دو آرایه خالی باشند، فراخوانی list.Average() یا list.Max() استثنا تولید می‌کند؛ بنابراین پیش از محاسبه با list.Count == 0 یا DefaultIfEmpty() وضعیت خالی را مدیریت کنید. برای کارایی بهتر پیش‌پیش تخصیص ظرفیت لیست با new List<double>(a.Length + b.Length) و سپس استفاده از AddRange باعث جلوگیری از بازتخصیص‌های پرهزینه می‌شود. در پردازش‌های حجیم می‌توانید به جای جمع‌آوری کامل، از جریان‌های lazy (IEnumerable) یا محاسبه‌های تک‌پاسه/Span برای مصرف حافظه کمتر استفاده کنید.

گزارش

1 پاسخ

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

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