توضیحات کوتاه و لینک دانلود
توضیحات کامل در مورد فایل
دانلود نمونه سورس کد LINQ to Objects در زبان VB.NET در موضوع دفترچه تلفن
امروز در این پست برای شما کاربران عزیز وبسایت فایل سحرآمیز یک نمونه سورس کد LINQ to Objects در زبان VB.NET در موضوع دفترچه تلفن را آماده دانلود قرار داده ایم.
LINQ to Objects در VB.NET چیست؟
در VB.NET نیز همانند C#، LINQ امکان میدهد که روی مجموعههای داخل حافظه (مثل List، Array، DataTable و ...) با زبان پرسوجو کار کنید.
LINQ to Objects یعنی:
-
جستوجو (Where)
-
مرتبسازی (Order By)
-
فیلتر
-
Select
-
Group
-
Join
روی دادههایی که در حافظه قرار دارند.
۲) چرا LINQ در VB.NET کاربردی است؟
-
کدها خیلی کوتاهتر و خواناتر میشوند
-
حلقهها و If های متعدد حذف میشود
-
مناسب برنامههای Windows Forms و WPF
-
مناسب مواقعی که دادهها را در List یا آرایه نگه میدارید
-
کار روی
List(Of T)خیلی راحتتر میشود
۳) مثالهای پایه LINQ در VB.NET
۳.۱) Select ساده
Dim tools() As String = {"Hammer", "Saw", "Drill"} Dim result = From t In tools Select t For Each item In result Console.WriteLine(item) Next
۳.۲) فیلتر کردن (Where)
Dim books() As String = {"Ruby", "C#", "Rust", "Python"} Dim result = From b In books Where b.StartsWith("R") Select b For Each item In result Console.WriteLine(item) Next
۳.۳) مرتبسازی (Order By)
Dim result = From b In books Order By b Ascending Select b
۴) مثال با کلاس سفارشی (List(Of T))
تعریف کلاس:
Public Class Part Public Property PartNumber As Integer Public Property PartDescription As String End Class
ایجاد لیست:
Dim parts As New List(Of Part) From { New Part With {.PartNumber = 5, .PartDescription = "Engine"}, New Part With {.PartNumber = 2, .PartDescription = "Door"}, New Part With {.PartNumber = 7, .PartDescription = "Filter"} }
مرتبسازی و انتخاب:
Dim result = From p In parts Order By p.PartNumber Select p.PartDescription For Each item In result Console.WriteLine(item) Next
۵) مثال واقعیتر شبیه پروژه Contact Manager مقاله
تعریف کلاس Contact
Public Class Contact Public Property FirstName As String Public Property LastName As String Public Property Email As String End Class
ایجاد لیست مخاطبین:
Dim contacts As New List(Of Contact) From { New Contact With {.FirstName = "Ali", .LastName = "Ahmadi", .Email = "a@example.com"}, New Contact With {.FirstName = "Sara", .LastName = "Rahimi", .Email = "s@example.com"}, New Contact With {.FirstName = "Reza", .LastName = "Rasouli", .Email = "r@example.com"} }
جستجوی مخاطب با نام خانوادگی که با حرف "R" شروع میشود:
Dim result = From c In contacts Where c.LastName.StartsWith("R") Order By c.LastName Select c
نمایش در DataGridView:
DataGridView1.DataSource = result.ToList()
۶) نکات مهم هنگام استفاده از LINQ در VB.NET
۱) LINQ اغلب Deferred Execution دارد
یعنی تا زمانی که:
-
ToList()
-
ToArray()
-
For Each
را اجرا نکنید، Query اجرا نمیشود.
۲) برای Queryهایی که چندبار استفاده میکنید بهتر است ToList کنید
Dim r = (From x In contacts Where x.Email.Contains("@")).ToList()
۳) از Anonymous Type در Select استفاده کنید
Dim result = From c In contacts Select New With {.Name = c.FirstName, .Mail = c.Email}
۴) VB.NET از Query Syntax پشتیبانی عالی دارد
و برای خیلیها خواناتر از روش Lambda/Method Syntax است.
معادل Method Syntax (Lamda) در VB.NET
اگر همان Query را با Lambda بنویسیم:
Dim result = contacts _ .Where(Function(c) c.LastName.StartsWith("R")) _ .OrderBy(Function(c) c.LastName) _ .Select(Function(c) c)
چه وقتها از LINQ to Objects در VB.NET استفاده کنیم؟
مناسب:
-
Windows Forms / WPF
-
کار با List، آرایه، Collection
-
فیلتر و جستوجوی سریع
-
تبدیل دادهها برای DataGridView
نامناسب:
-
پروژههایی با حجم بسیار زیاد داده
-
کارهای سنگین که باید روی دیتابیس انجام شود
-
گزارشگیری پیچیده و چندلایه که نیاز به SQL دارد
خلاصه بسیار کوتاه
-
LINQ to Objects در VB.NET بهترین ابزار برای فیلتر، جستوجو و مرتبسازی دادههای داخل حافظه است.
-
سینتکس آن شبیه SQL اما روی لیست و آرایه اجرا میشود.
-
کدها کوتاه، تمیز، خوانا و قابل نگهداری هستند.
-
پروژه مقاله یک مثال واقعی از Contact Manager است.
برای شما کاربران عزیز پیشنهاد دانلود داده می شود.
نظرات کاربران