عملگرهای مجموعه ای در Linq بخش اول

عملگرهای مجموعه ای در Linq بخش اول

سلام دوستان ، فرا رسیدن سال ۱۳۹۵ را خدمت شما تبریک عرض میکنم . هم اکنون که در حال نگارش این مقاله هستم ، ساعت ۱ ظهر روز یکشنبه مورخ ۱۳۹۵/۰۱/۰۱ می باشد . امیدوارم سالی سرشار از موفقیت و بهروزی در پیش رو داشته باشید و با مقالات وب سایت محتوا همراه باشید wink

در این مقاله ، وارد بخش دوم از سری آموزشی عملگرهای LINQ می شویم و قصد داریم شما را با عملگرهای مجموعه ای مانند اجتماع-اشتراک-تفاضل در زبان LINQ آشنا کنیم .

اینگونه عملگرها روی مجموعه ها کار می کنند مانند اجتماع (union) و اشتراک(Intersect) و …

عملگر Distinct :

این عملگر تکراری های مجموعه را حذف می کند و باقی عناصر را برمیگرداند . به مثال زیر توجه کنید :

public static void Distinct1()

        {

            int[] factorsOf300 = { 2, 2, 3, 5, 5 };

            var uniqueFactors = factorsOf300.Distinct();

            Console.WriteLine("Prime factors of 300:\n—————");

            foreach (var factor in uniqueFactors)

            {

                Console.WriteLine(factor);

            }

        }

پس خروجی این مثال ۲و۳و۵ می باشند .

در مثال بعدی می خواهیم دسته بندی لیست محصولات را استخراج کرده و آنها را بصورت یکتا به خروجی بدهد یعنی تکراری ها را حذف کند :

public static void Distinct2()

        {

            var products = new ProductRepository().GetAll();

            var categoryNames = (

                                    from product in products

                                    select product.Category

                                );

            Console.WriteLine("Category names:\n—————-");

            foreach (var category in categoryNames)

            {

                Console.WriteLine(category);

            }

        }

عملگر اجتماع (Union) :

برای اجتماع گیری از دو و یا چند مجموعه بکار میرود  . در مثال اول union را روی دو مجموعه ساده اعداد اعمال میکنیم :

public static void Union1()

        {

            int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 };

            int[] numbersB = { 1, 3, 5, 7, 8 };

            var uniqueNumbers = numbersA.Union(numbersB);

            Console.WriteLine("Unique numbers from both arrays:\n———————-");

            foreach (var number in uniqueNumbers)

            {

                Console.WriteLine(number);

            }

        }

پس خروجی بصورت ۰,۱,۲,۳,۴,۵,۶,۷,۸,۹ می شود .

به منظور یادگیری بیشتر در زمینه عملگرهای مجموعه ای ، به وب سایت مایکروسافت مراجعه کنید .

در مقاله بعد ، سراغ مثال دوم از عملگر Union در LINQ خواهیم رفت .

 


تاریخ انتشار : ۱ فروردین ۱۳۹۵



دیدگاه ها :