English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
إذا كان المجموعة المحددة لـ DefaultIfEmpty() فارغة، فإن طريقة DefaultIfEmpty() ستعود إلى مجموعة جديدة تحتوي على القيمة الافتراضية.
يستقبل طريقة DefaultIfEmpty() الإضافية إحداثيات قيمة، يجب استبدالها بالقيمة الافتراضية.
انظر إلى هذا المثال.
IList<string> emptyList = new List<string>(); var newList1 = emptyList.DefaultIfEmpty(); var newList2 = emptyList.DefaultIfEmpty("None"); Console.WriteLine("Count: {0}" , newList1.Count()); Console.WriteLine("Value: {0}" , newList1.ElementAt(0)); Console.WriteLine("Count: {0}" , newList2.Count()); Console.WriteLine("Value: {0}" , newList2.ElementAt(0));
Count: 1 Value: Count: 1 Value: None
في المثال السابق، يعود emptyList.DefaultIfEmpty() إلى مجموعة جديدة من الأعداد الصحيحة، يحتوي على عنصر له قيمة null، لأن null هو القيمة الافتراضية لـ string. يمكن أيضًا استخدام طريقة أخرى emptyList.DefaultIfEmpty("None") لتقديم مجموعة من الأعداد الصحيحة، يحتوي على عنصر له قيمة "None" بدلاً من null.
في هذا المثال، يتم عرض كيفية استدعاء DefaultIfEmpty على مجموعة int.
IList<int> emptyList = new List<int>(); var newList1 = emptyList.DefaultIfEmpty(); var newList2 = emptyList.DefaultIfEmpty(100); Console.WriteLine("Count: {0}" , newList1.Count()); Console.WriteLine("Value: {0}" , newList1.ElementAt(0)); Console.WriteLine("Count: {0}" , newList2.Count()); Console.WriteLine("Value: {0}" , newList2.ElementAt(0));
Count: 1 القيمة: 0 Count: 1 القيمة: 100
في هذا المثال، يتم عرض استخدام طريقة DefaultIfEmpty() لجمعيات النوع المعقد.
IList<Student> emptyStudentList = new List<Student>(); var newStudentList1 = studentList.DefaultIfEmpty(new Student()); var newStudentList2 = studentList.DefaultIfEmpty(new Student(){ StudentID = 0, StudentName = "" }); Console.WriteLine("Count: {0} ", newStudentList1.Count()); Console.WriteLine("Student ID: {0} ", newStudentList1.ElementAt(0)); Console.WriteLine("Count: {0} ", newStudentList2.Count()); Console.WriteLine("Student ID: {0} ", newStudentList2.ElementAt(0).StudentID);
Count: 1 Student ID: Count: 1 Student ID: 0