نحوه استفاده از متد Except در Linq

این مقاله نحوه استفاده از متد Except در Linq را بررسی می کند. متد Except برای انجام عملیات روی مجموعه ها، لیست ها و آرایه ها به کار برده می شود.

نحوه استفاده از متد Except در Linq

مقدمه

متد Except یک متد افزونه (extention method) در Linq است که یک راه سریع برای استفاده از منطق مجموعه ای فراهم می کند، این متد تمام عنصرهایی از آرایه را که در آرایه دیگری پیدا کند، حذف می کند و نیاز به استفاده از حلقه های پیچیده Foreach را کاهش می دهد.

مثال:

این قطعه کد، عناصری از لیست اول را که در لیست دوم تکرار شده اند، پاک می کند و آنچه را که از لیست اول باقی می ماند، در لیست سوم برمی گرداند. کد زیر، نحوه استفاده از Except را نشان می دهد.


    int[] list1 = { 5, 3, 9, 7, 5, 9, 3, 7 };        
    int[] list2 = { 8, 3, 6, 4, 4, 9, 1, 0 };        
    Console.WriteLine("Elements of FirstArray(list1 ):{ 5, 3, 9, 7, 5, 9, 3, 7 }");        
    Console.WriteLine("Elements of SecondArray(list2 ):{ 8, 3, 6, 4, 4, 9, 1, 0 }");        
    int[] Except = list1 .Except(list2 ).ToArray();        
    Console.WriteLine("Except Result");        
    foreach (int num in Except)        
    {        
       Console.WriteLine("{0} ", num);        
    }    

خروجی کد:


    5  
    7  

در کد بالا، آرایه لیست 2 تمام عناصر لیست 1 را داراست به جز عنصر 5 و 7. به همین دلیل متد Except این دو مقدار را به عنوان آرایه سوم برمی گرداند.