در این پست قصد داریم تا ساده ترین روش تولید لیست اعداد در سی شارپ را به روش صحیح ایجاد کنیم.
هر زمان که مبحث مربوط به لیست اعداد به گوش هر برنامه نویسی برسد، معمولا به فکر ایجاد یک حلقه با استفاده از For یا while و یا استفاده از تابع می افتند.
این روش ها به طبع یکی از ساده ترین و کم خط ترین روش تولید لیست اعداد در زبان برنامه نویسی csharp می باشد، اما زمانیکه بخواهیم به فکر لیست اعدادی در حجم میلیون فکر کنیم، این روش ها به نحوی باعث ایجاد یک حجم فوق العاده ای داده درون حافظه می شود.
اما بهترین روش استفاده از Enumerable است، اما چرا؟
- انعطاف پذیری در کدنویسی
- قابلیت Lazy Evaluation
- این قابلیت باعث می شود تا زمانیکه واقعا نیاز به داده نباشد، آن را تولید نکند
- کاهش فوق العاده ای در مصرف حافظه
- سرعت بالا
- پشتیبانی از حلقه foreach
- امنیت
- با برگرداندن
IEnumerable<T>به جای ساختارهای خاص (مانندList<T>یاArray)، پیادهسازی داخلی را پنهان میکنید
- با برگرداندن
- پشتیبانی از LINQ:
- به شما اجازه میدهد از عملگرهای قدرتمند LINQ مانند
WhereوSelectبرای فیلتر و تغییر دادهها استفاده کنید.
- به شما اجازه میدهد از عملگرهای قدرتمند LINQ مانند
برای مثال:
اجرای این دستور باعث می شود تا شروع عدد از 100 می باشد و تا 900 میلیون پیش می رود، و هربار عدد مقدار آن در یک کادر نمایش داده می شود.
در واقع اولین عدد 100 می باشد و آخرین عدد نیز 900000099 می باشد.
private void button1_Click(object sender, EventArgs e)
{
var i = Enumerable.Range(100, 900000000);
var last = 0;
foreach (var ir in i)
{
last = ir;
}
MessageBox.Show($"Start:100 \n Last: {last}");
}