عملگرهای تولید Empty، Range و Repeat
در این بخش از آموزش زبان LINQ، متدهای Empty، Range و Repeat را بررسی خواهیم کرد. این متدها برخلاف متدهای قبلی که به صورت Extension Method و برای IEnumerable و IQueryable تعریف شده بودند، به صورت استاتیک و در داخل کلاس Enumerable تعریف شده اند.
متد Empty
متد Empty همانطور که از اسم آن نیز مشخص است به منظور ایجاد یک مجموعه خالی استفاده می شود. برای درک بهتر به مثال زیر توجه کنید:
1 2 3 4 5 6 | var emptyCollection1 = Enumerable.Empty<string>(); var emptyCollection2 = Enumerable.Empty<Student>(); Console.WriteLine("Count: {0} ", emptyCollection1.Count()); Console.WriteLine("Type: {0} ", emptyCollection1.GetType().Name ); Console.WriteLine("Count: {0} ",emptyCollection2.Count()); Console.WriteLine("Type: {0} ", emptyCollection2.GetType().Name ); |
خروجی مثال:
1 2 3 4 | Type: String[] Count: 0 Type: Student[] Count: 0 |
متد Range
متد Range یک مجموعه جدید در رنج مشخص شده ایجاد می کند. پارامتر اول اولین عنصر مجموعه را مشخص می کند و پارامتر دوم هم اندازه مجموعه را مشخص می کند. برای نمونه در مثال زیر یک مجموعه عددی که 10 عنصری که از 10 شروع می شود را تولید میکنیم:
1 2 3 4 | var intCollection = Enumerable.Range(10, 10); Console.WriteLine("Total Count: {0} ", intCollection.Count()); for(int i = 0; i < intCollection.Count(); i++) Console.WriteLine("Value at index {0} : {1}", i, intCollection.ElementAt(i)); |
خروجی مثال:
1 2 3 4 5 6 7 8 9 10 11 | Total Count: 10 Value at index 0 : 10 Value at index 1 : 11 Value at index 2 : 12 Value at index 3 : 13 Value at index 4 : 14 Value at index 5 : 15 Value at index 6 : 16 Value at index 7 : 17 Value at index 8 : 18 Value at index 9 : 19 |
متد Repeat
متد Repeat یک مجموعه با اندازه مشخص شده و یک مقدار تکرار شده ایجاد می کند. پارامتر اول مقداری را که باید تکرار شود را مشخص می کند و پارارمتر دوم هم تعداد تکرار آن مقدار را مشخص می کند. برای درک بهتر به مثال زیر توجه کنید:
1 2 3 4 | var intCollection = Enumerable.Repeat<int>(10, 10); Console.WriteLine("Total Count: {0} ", intCollection.Count()); for(int i = 0; i < intCollection.Count(); i++) Console.WriteLine("Value at index {0} : {1}", i, intCollection.ElementAt(i)); |
خروجی مثال:
1 2 3 4 5 6 7 8 9 10 11 | Total Count: 10 Value at index 0: 10 Value at index 1: 10 Value at index 2: 10 Value at index 3: 10 Value at index 4: 10 Value at index 5: 10 Value at index 6: 10 Value at index 7: 10 Value at index 8: 10 Value at index 9: 10 |
در مثال فوق ما یک مجموعه با اندازه 10 ایجاد کردیم که مقدار همه عناصر آن 10 است.
هیچ نظری ثبت نشده است