LINQ - Select Operator
🎯 LINQ Select Operator في #C
في هذا الدرس سنتعرّف على Select Operator في LINQ باستخدام لغة C#. وهي واحدة من أهم Projection Operators، وبتُستخدم لاختيار أو تشكيل البيانات (projection) من مصدر البيانات.
🧠 ما هو Select؟
Select
بيستخدم لاختيار قيم معينة من collection أو database وإسقاطها بشكل جديد.
ممكن ترجّع كل الكائنات أو خصائص معينة أو حتى تنشئ anonymous types.
🧾 Syntax
✅ Query Syntax:
var result = from item in collection
select item.Property;
✅ Method Syntax:
var result = collection.Select(x => new { x.Property1, x.Property2 });
✅ مثال 1: اختيار كل العناصر من قائمة
List<string> names = new List<string>() { "Mahmoud", "Ali", "Sara", "Noor" };
var result = from name in names
select name;
foreach (var name in result)
{
Console.WriteLine(name);
}
النتيجة:
Mahmoud
Ali
Sara
Noor
✅ مثال 2: اختيار خاصية من كائن
public class Student
{
public int ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
List<Student> students = new List<Student>()
{
new Student() { ID = 1, Name = "Mahmoud", Age = 20 },
new Student() { ID = 2, Name = "Ali", Age = 22 },
new Student() { ID = 3, Name = "Sara", Age = 21 }
};
var result = from s in students
select s.Name;
foreach (var name in result)
{
Console.WriteLine(name);
}
النتيجة:
Mahmoud
Ali
Sara
✅ مثال 3: Select مع Anonymous Type
var result = students.Select(s => new { s.ID, s.Name });
foreach (var item in result)
{
Console.WriteLine("ID = " + item.ID + ", Name = " + item.Name);
}
النتيجة:
ID = 1, Name = Mahmoud
ID = 2, Name = Ali
ID = 3, Name = Sara
📌 ملاحظات مهمة
Select
لا تغيّر البيانات الأصلية، بل تُرجع نسخة جديدة.- ممكن تستخدمها لاختيار خاصية، أو توليد نوع جديد، أو تنفيذ عملية أثناء الإسقاط.
- تقدر تدمجها مع
Where
وOrderBy
وغيرها من LINQ operators.
تعليقات
إرسال تعليق