آموزش Linq (بخش سوم)

آموزش Linq (بخش سوم)

بسم الله الرحمن الرحیم

 

مشاهده تمامی آموزش ها

بسم الله الرحمن الرحیم

 

مشاهده تمامی آموزش های دوره LINQ

آموزش LINQ

بخش سوم

LINQ

در این بخش تگ های دسته بندی لینک را آموزش خواهم داد

Group By

در بعضی پرس و جو ها شما نیاز دارید که نتیجه را به صورت گروه بندی نمایش دهید برای گروه بندی باید به صورت زیر عمل کنید:



var queryCustomersByCity = from cust in customers group cust by cust.City;

یا



var query = from c in customers group c by c.Country into cc select new { Country = cc.Key };

فکر کنم نیازی به توضیح نیست با استفاده از متغییر دامنه ما تعیین می کنیم که بر اساس چه فیلدی گروه بندی شود در اینجا ما بر اساس شی مشتری که فیلد شهر را دارد گروه بندی می کنیم.

اگر بخواهیم به نتیجه گروه بندی دسترسی داشته باشیم باید از عبارتinto  استفاده کنیم. مثال:


var custQuery = from cust in customers group cust by cust.City into custGroup where custGroup.Count() >2  orderby custGroup.Key select custGroup;

وقتی اطلاعات را دسته بندی می کنیم هر دسته از اطلاعات یک کلید  (Key)دارد که بر اساس آن دسته بندی می شود مثال:


List<int> numbers = new List<int>() { 35, 44, 200, 84, 3987, 4, 199, 329, 446, 208 };
IEnumerable<IGrouping<int, int>> query = from number in numbers group number by number % 2;

foreach (var group in query)
{
  Console.WriteLine(group.Key == 0 ? "\nEven numbers:" : "\nOdd numbers:");
  foreach (int i in group)
      Console.WriteLine(i);
}

/* This code produces the following output:
Odd numbers:
35
3987
199
329
Even numbers:
44
200
84
4
446
208
*/

 

Set operators

Distinct

عضوهای تکراری را حذف می کند مثال: a,b,c,d,c,e نتیجه: a,b,c,d,e


List<int> SampleList = new List<int>() { 1, 3, 2, 3, 1, 8, 13 };
var query = SampleList.Distinct();
foreach (var item in query)
Console.WriteLine(item);

 

Except

تفاضل مجموعه اول نسبت به مجموعه دوم مثال: a,b,c,e        a,c,d,e   =>     b    



List<int> SampleList1 = new List<int>() { 1, 3, 2, 3, 1, 8, 13 };
List<int> SampleList2 = new List<int>() { 1, 5, 7, 3, 1, 6};
var query = SampleList1.Except(SampleList2);
foreach (var item in query)
Console.WriteLine(item);
//output
//2
//8
//13 

Intersect

اشتراک دو مجموعه مثال: a,b,c,e       a,c,d,e      =>      a,c,e    


List<int> SampleList1 = new List<int>() { 1, 3, 2, 3, 1, 8, 13 };
List<int> SampleList2 = new List<int>() { 1, 5, 7, 3, 1, 6};
var query = SampleList1.Intersect(SampleList2);
foreach (var item in query)
Console.WriteLine(item);

 

Union

تمام عناصر دو مجموعه بدون عضو تکراری مثال: a,b,c,e       a,c,d,e      =>     a,b,c,d,e     


List<int> SampleList1 = new List<int>() { 1, 3, 2, 3, 1, 8, 13 };
List<int> SampleList2 = new List<int>() { 1, 5, 7, 3, 1, 6};
var query = SampleList1.Union(SampleList2);
foreach (var item in query)
Console.WriteLine(item);

 

 

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس