دانلود نمونه سورس کد LINQ to Objects در زبان VB.NET در موضوع دفترچه تلفن


در دنیای برنامه‌نویسی، LINQ (Language Integrated Query) یک ابزار قدرتمند و انعطاف‌پذیر است که به برنامه‌نویسان اجازه می‌دهد تا داده‌ها را به صورت مستقیم، ساده و خوانا بر روی مجموعه‌های مختلف، به خصوص مجموعه‌های درون حافظه (در اینجا، مجموعه‌های آبجکت‌ها)، پرس و جو کنند. در زبان VB.NET، LINQ به صورت بسیار مؤثری به کار می‌رود و یکی از موارد استفاده مهم آن، ساخت و مدیریت دفترچه تلفن است.
در این مقاله، قصد داریم به صورت کامل و جامع در مورد نمونه سورس کد LINQ to Objects در VB.NET در زمینه دفترچه تلفن صحبت کنیم. این نمونه، نشان می‌دهد که چگونه می‌توان با استفاده از LINQ، عملیات مختلفی مانند افزودن، جستجو، ویرایش و حذف مخاطبین را به راحتی انجام داد؛ آن هم در قالب مجموعه‌ای از آبجکت‌ها که هر کدام نمایانگر یک مخاطب در دفترچه تلفن هستند.

  1. تعریف ساختار داده‌ها




قبل از هر چیز، باید آبجکت‌هایی را تعریف کنیم که اطلاعات هر فرد در دفترچه تلفن را نگهداری می‌کنند. برای این منظور، یک کلاس به نام `Contact` طراحی می‌شود که شامل خصوصیات اصلی مانند نام، شماره تلفن، ایمیل و آدرس است. این کلاس، نقش پایه را در ساخت مجموعه‌های داده بازی می‌کند و تمامی عملیات روی داده‌ها بر اساس این ساختار انجام می‌شود.
vb.net  

Public Class Contact

Public Property Name As String

Public Property PhoneNumber As String

Public Property Email As String

Public Property Address As String

End Class


  1. ایجاد مجموعه داده‌ها




در مرحله بعد، یک لیست از اشیاء `Contact` ایجاد می‌کنیم. این لیست به عنوان مخزن داده‌های دفترچه تلفن عمل می‌کند، و می‌تواند شامل چندین مخاطب باشد. در اینجا، مجموعه اولیه با چند نمونه داده پر می‌شود تا بتوان عملیات مختلف را روی آن آزمایش کرد.
vb.net  

Dim contacts As New List(Of Contact) From {

New Contact With {.Name = "Ali Reza", .PhoneNumber = "09121234567", .Email = "ali@example.com", .Address = "Tehran"},

New Contact With {.Name = "Sara Ahmadi", .PhoneNumber = "09211234567", .Email = "sara@example.com", .Address = "Isfahan"},

New Contact With {.Name = "Mehdi Hosseini", .PhoneNumber = "09311234567", .Email = "mehdi@example.com", .Address = "Shiraz"},

New Contact With {.Name = "Narges Moazami", .PhoneNumber = "09411234567", .Email = "narges@example.com", .Address = "Mashhad"}

}


  1. جستجو در دفترچه تلفن با LINQ




یکی از قابلیت‌های مهم LINQ، جستجو بر اساس معیارهای مختلف است. فرض کنید می‌خواهیم همه مخاطبانی را که نام آن‌ها شامل "Ali" است پیدا کنیم. این کار با LINQ بسیار ساده است و به صورت زیر انجام می‌شود:
vb.net  

Dim result = From c In contacts

Where c.Name.Contains("Ali")

Select c


در این نمونه، `result` مجموعه‌ای از اشیاء `Contact` است که نام آن‌ها حاوی "Ali" است. می‌توان این نتیجه را در حلقه‌ای نمایش داد:
vb.net  

For Each contact As Contact In result

Console.WriteLine($"{contact.Name} - {contact.PhoneNumber}")

Next


همچنین، می‌توان عملیات جستجو بر اساس شماره تلفن یا ایمیل انجام داد، و یا حتی چندین شرط را با هم ترکیب کرد، که نشان می‌دهد LINQ چه انعطاف‌پذیری بالایی دارد.

  1. افزودن مخاطب جدید




برای افزودن مخاطب جدید، کافی است یک شیء جدید از کلاس `Contact` ساخته و آن را به لیست اضافه کنیم:
vb.net  

Dim newContact As New Contact With {

.Name = "Hassan Kiani",

.PhoneNumber = "09551234567",

.Email = "hassan@example.com",

.Address = "Tabriz"

}

contacts.Add(newContact)


پس از این عملیات، مجموعه داده‌ها به روز رسانی می‌شود و می‌توان مجدد عملیات‌های جستجو یا نمایش را انجام داد.

  1. حذف یک مخاطب




حذف مخاطب نیازمند پیدا کردن آن است، و پس از آن، حذف کردن از لیست. به عنوان نمونه، فرض کنید می‌خواهیم مخاطبی با نام "Sara Ahmadi" را حذف کنیم:
vb.net  

Dim contactToRemove = (From c In contacts

Where c.Name = "Sara Ahmadi").FirstOrDefault()
If contactToRemove IsNot Nothing Then

contacts.Remove(contactToRemove)

End If


در اینجا، ابتدا مخاطب مورد نظر پیدا می‌شود، و در صورت وجود، حذف می‌گردد. این عملیات بسیار سریع و کارآمد است، و LINQ به راحتی می‌تواند بر روی مجموعه‌های درون حافظه انجام دهد.

  1. ویرایش اطلاعات مخاطبین




برای ویرایش، باید ابتدا مخاطب مورد نظر را پیدا کنیم، و سپس خصوصیات آن را تغییر دهیم. فرض کنید می‌خواهیم شماره تلفن "Mehdi Hosseini" را به "09871234567" تغییر دهیم:
vb.net  

Dim contactToEdit = (From c In contacts ... ← ادامه مطلب در magicfile.ir