عملگرهای مجموعه ای در 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 خواهیم رفت .

 


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



دیدگاه ها :