LINQ مخفف Language Integrated Query به معنای زبان پرس و جوی یکپارچه است که در دات نت نسخه 3.5 معرفی شد و به برنامه نویس اجازه میدهد دادهها را از هر نوع منبع دادهای بدون نیاز به دانستن یک زبان دیگر پرس و جو کند. پرس و جو فرایند به دست آوردن داده از منبع داده است.LINQ پرس و جوی داده از منابع دادهای مختلف را بسیار راحت کرده است. این زبان با زبانهای C# و VB آمیخته شده است و چندین کلمه کلیدی و دستور زبان برای استفاده از آن به دو زبان مذکور اضافه شده است. قبل از ورود LINQ، برنامه نویسان مجموعه کدهای مختلفی برای منابع دادهای مختلف مینوشتند. به عنوان مثال، برای پرس و جو در یک دیتابیس SQL از دستورات SQL یا برای فایلهای XML از Xpath استفاده میکردند. اما اکنون با استفاده از قدرت LINQ فقط لازم است با کلمات کلیدی LINQ و متدهای آن که در دات نت 3.5 معرفی شدند آشنا باشید.
چندین نوع LINQ به دلیل وجود provider های مختلف وجود دارد. ویژوال استودیو دارای چندین provider مانند LINQ to Objects میباشد. در این قسمت تمرکز ما بر LINQ to Objects است که در پرس و جوی مجموعهای از اشیاء در کد شما که رابط IEnumerable<T> را پیاده سازی میکنند مورد استفاده قرار میگیرد. مثالهایی از این اشیاء، آرایهها و لیستها یا یک مجموعه سقارشی میباشد که شما ایجاد کردهاید. LINQ to SQL هم مخصوصاً طوری طراحی شده است که پرس و جوی دیتابیسهای SQL Server را راحت میکند. برای پرس و جوی فایلهای XML، میتوان از LINQ to XML استفاده نمود. همچنین میتوان LINQ را برای پرس و جوی انواع منابع دادهای دیگر بسط داد.
تکنیکهای پرس و جو به کار رفته در درسهای زیر، میتوانند در انواع مختلف LINQ مورد استفاده قرار بگیرند. شما می تونید با استفاده از متدهای الحاقی که در رابط IEnumerable<T> تعریف شدهاند از LINQ استفاده کنید. میتوانید این متدها را مستقیماً فراخوانی کنید، اما باید درباره عبارات لامبدا اطلاعاتی داشته باشید. همچنین میتوان از عبارات پرس و جو که دستور زبانی شبیه به SQL دارند استفاده کرد. عبارات پرس و جو ابزار مهمی هستند. عبارتهای پرس و جو ابزار اصلی برای دسترسی به دادهها با استفاده از LINQ به شمار میآیند گرچه شما میتوانید از متدهای الحاقی و عبارات لامبدا هم برای پرس و جو استفاده کنید.
زبان برنامه نویسی سی شارپ جز زبانهای روالمند است به این معنی که شما برای حل یک مسئله باید قدم به قدم کدهای آن را بنویسید ولی LINQ جز زبانهای غبر روالمند است به این معنی که شما به کامپیوتر می گویید که چه چیزی را لازم دارید (صرف نظر از الگوریتم آن) و کامپیوتر آن را برای شما فراهم میکند. قبلاً از LINQ ، شما فقط باید با استفاده از زبانهای روالمند در بین نتایج پرس و جو میکردید.
مزایای استفاده از LINQ
1) زبان آشنا: توسعه دهندگان مجبور نیستند برای کار بر روی منبع داده جدید، زبان کوئری نویسی جدیدی یاد بگیرند.
2) کد کمتر: با استفاده از LINQ می توانید، کد های قبلی که برای هدف مشابه نوشته شده اند را تا حد زیادی فشرده کنید
3) خوانایی بیشتر: کدهای نوشته شده با LINQ از خوانایی خیلی بالایی برخوردار هستند. بنابراین سایر توسعه دهندگان می تواند به راحتی آن را متوجه شوند.
4) یک روش استاندارد برای کار بر روی انواع منبع داده: کوئری نوشته شده با LINQ را می تواند بدون تغییر بر روی چندین منبع داده استفاده کرد.
5) بررسی شدن کوئری ها در زبان کامپایل: کامپایلر می تواند خطاهای موجود در کوئری را در زمان کامپایلر تشخیص دهد.
6)بازیابی اطلاعات در شکل های مختلف
7) پشتیبانی IntelliSense
نام | تعداد آزمون | میزان موفقیت | |
---|---|---|---|
![]() |
َAmeneh Darvishzadeh | 1 | 100/00 % |
![]() |
Mehrad Hashemi | 1 | 100/00 % |
![]() |
مهدی حسین پور آقائی | 1 | 100/00 % |
![]() |
zahra namdari | 46 | 98/21 % |
![]() |
یاسمن محمدی پور | 4 | 98/08 % |
![]() |
فرنوش طغیانی | 17 | 98/06 % |
![]() |
Tara Mohammadi | 3 | 96/43 % |
![]() |
yasaman mohamadipur | 51 | 95/86 % |
![]() |
محمدجواد ملائی اردستانی | 3 | 94/44 % |
![]() |
Arzhang Saberi | 4 | 93/33 % |
![]() |
Soheila Karimi | 123 | 92/71 % |
![]() |
aram farhmand | 10 | 92/31 % |
![]() |
یاشار اسکندری | 98 | 91/14 % |
![]() |
پریسا سلوکی شهرضایی | 72 | 89/49 % |
![]() |
ارشیا قلمکاری | 33 | 89/23 % |
![]() |
Omid Aghababaei | 20 | 87/92 % |
![]() |
سجاد آقابابایی | 2 | 87/50 % |
![]() |
محدثه درویشی | 1 | 87/50 % |
![]() |
Fardin Azhdari | 27 | 86/58 % |
![]() |
نازيلا حاجي صباغ | 31 | 85/94 % |