دستورات اصلی زبان لینک

مهمترین متدهای Linq

 

30متد اصلی و مهم در زبان Linq

برای علاقمندان به برنامه نویسی دیتابیسنویسنده: آکادمی برنامه نویسی بدیعی

زبان Linq یک زبان پرس و جو یا کوئری نویسی در دیتابیس و دیگر ساختارهای داده ای ست که با کمک آن می توان از درون یک لیست، اطلاعاتی که مدنظرمان هست را استخراج کنیم. در ادامه لیستی از مهمترین دستورات یا متدهای مورد استفاده در Linq را می بینید.

 

·  Select:

  • توضیح: انتخاب و تبدیل عناصر از مجموعه.
  •   var names = users.Select(user => user.Name);

 

·  Where:

  • توضیح: فیلتر کردن عناصر بر اساس شرط مشخص.
  •   var youngUsers = users.Where(user => user.Age < 30);

 

·  OrderBy:

  • توضیح: مرتب کردن عناصر به صورت صعودی.
  •   var sortedUsers = users.OrderBy(user => user.Age);

·  OrderByDescending:

  • توضیح: مرتب کردن عناصر به صورت نزولی.
  •   var sortedUsersDescending = users.OrderByDescending(user => user.Age);

 

·  GroupBy:

  • توضیح: گروه‌بندی عناصر بر اساس کلید.
  •   var groupedUsers = users.GroupBy(user => user.Department);

 

·  Join:

  • توضیح: پیوند دادن دو مجموعه بر اساس کلیدهای مشترک.
  •   var userOrders = users.Join(orders, user => user.Id, order => order.UserId, (user, order) => new { User = user, Order = order });

 

·  SelectMany:

  • توضیح: تخت کردن داده‌های تو در تو به یک مجموعه مسطح.
  •   var allOrders = users.SelectMany(user => user.Orders);

·  Aggregate:

  • توضیح: اعمال یک تابع تجمعی بر روی مجموعه و تولید یک نتیجه واحد.
  •   var totalAge = users.Aggregate(0, (sum, user) => sum + user.Age);

 

·  First:

  • توضیح: بازیابی اولین عنصر براساس شرط مشخص شده.
  •   var firstUser = users.First(user => user.Age > 30);

 

·  FirstOrDefault:

  • توضیح: بازیابی اولین عنصر یا مقدار پیش‌فرض اگر هیچ عنصری پیدا نشود.
  •   var firstUser = users.FirstOrDefault(user => user.Age > 30);

 

·  Single:

  • توضیح: بازیابی تنها عنصر که با شرط مشخص شده مطابقت دارد و اطمینان از وجود تنها یک عنصر.
  •   var singleUser = users.Single(user => user.Id == 1);
 

 

·  SingleOrDefault:

  • توضیح: بازیابی تنها عنصر یا مقدار پیش‌فرض اگر هیچ عنصری پیدا نشود و اطمینان از وجود تنها یک عنصر.
  •   var singleUser = users.SingleOrDefault(user => user.Id == 1);

 

·  Any:

  • توضیح: بررسی وجود حداقل یک عنصر که با شرط مشخص شده مطابقت داشته باشد.
  •   var hasYoungUsers = users.Any(user => user.Age < 30);

 

·  All:

  • توضیح: بررسی این که آیا تمام عناصر با شرط مشخص شده مطابقت دارند.
  •   var allUsersAreActive = users.All(user => user.IsActive);

 

·  Count:

  • توضیح: شمارش تعداد عناصر که با شرط مشخص شده مطابقت دارند.
  •   var count = users.Count(user => user.Age < 30);

 

·  Sum:

  • توضیح: محاسبه مجموع مقادیر بر اساس یک ویژگی مشخص.
  •   var totalAge = users.Sum(user => user.Age);

 

·  Average:

  • توضیح: محاسبه میانگین مقادیر بر اساس یک ویژگی مشخص.
  •   var averageAge = users.Average(user => user.Age);

 

·  Distinct:

  • توضیح: حذف عناصر تکراری و بازگرداندن تنها عناصر منحصر به فرد.
  •   var uniqueDepartments = users.Select(user => user.Department).Distinct();

 

·  Take:

  • توضیح: بازیابی تعداد مشخصی از عناصر از ابتدای مجموعه.
  •   var top3Users = users.Take(3);

 

 

·  Skip:

  • توضیح: نادیده گرفتن تعداد مشخصی از عناصر(یعنی رد شدن از آنها) و بازیابی بقیه.
  •   var remainingUsers = users.Skip(3);

 

·  ToList:

  • توضیح: تبدیل نتیجه کوئری به یک لیست.
  •   var userList = users.Where(user => user.IsActive).ToList();

 

·  ToArray:

  • توضیح: تبدیل نتیجه کوئری به یک آرایه.
  •   var userArray = users.Where(user => user.IsActive).ToArray();

 

·  AsEnumerable:

  • توضیح: تبدیل نتیجه کوئری به IEnumerable برای ارزیابی در کلاینت.
  •   var result = users.AsEnumerable().Where(user => user.Age > 30);

 

·  AsQueryable:

  • توضیح: تبدیل مجموعه به IQueryable برای ارزیابی در سرور.
  •   var query = users.AsQueryable().Where(user => user.Age < 30);

 

·  Concat:

  • توضیح: پیوند دو مجموعه به یک مجموعه واحد.
  •   var allUsers = users.Concat(additionalUsers);

 

·  Except:

  • توضیح: بازیابی عناصر موجود در یک مجموعه که در مجموعه دیگر نیستند.
  •   var exclusiveUsers = users.Except(otherUsers);

 

·  Intersect:

  • توضیح: بازیابی عناصر مشترک بین دو مجموعه.
  •   var commonUsers = users.Intersect(otherUsers);
 

 

·  Union:

  • توضیح: ترکیب دو مجموعه و حذف عناصر تکراری.
  •   var combinedUsers = users.Union(additionalUsers);

 

·  DefaultIfEmpty:

  • توضیح: بازگرداندن مقدار پیش‌فرض اگر مجموعه خالی باشد.
  •   var userWithDefault = users.Where(user => user.Age > 30).DefaultIfEmpty(new User { Name = "Default" });

 

·  Zip:

  • توضیح: ترکیب دو مجموعه به یک مجموعه جدید از جفت‌ها.
  •   var zipped = users.Zip(orders, (user, order) => new { User = user, Order = order });

 

 

مقالات را از بخش مقالات سایت آکادمی برنامه نویسی بدیعی(Badiee-Academy.ir) و یا در کانال ما در تلگرام و روبیکا به آدرس BadieeAcademy دریافت کنید.

https://www.instagram.com/badiee_academy/


دانلود فایل پی دی اف
اشتراک