ตั้งค่ารายการ
List<int> myList = new List<int>(){1, 2, 3, 5, 8, 9};
ตอนนี้ รับองค์ประกอบแรกและองค์ประกอบสุดท้าย -
int a = myList.OrderBy(x => x).First(); int b = myList.OrderBy(x => x).Last();
ในรายการใหม่ รับองค์ประกอบทั้งหมดและใช้ข้อยกเว้นเพื่อรับตัวเลขที่ขาดหายไป -
List<int> myList2 = Enumerable.Range(a, b - a + 1).ToList(); List<int> remaining = myList2.Except(myList).ToList();
ให้เราดูรหัสที่สมบูรณ์ -
ตัวอย่าง
using System.Collections.Generic; using System; using System.Linq; public class Program { public static void Main() { List<int> myList = new List<int>(){1, 2, 3, 5, 8, 9}; Console.WriteLine("Numbers... "); foreach(int val in myList) { Console.WriteLine(val); } int a = myList.OrderBy(x => x).First(); int b = myList.OrderBy(x => x).Last(); List<int> myList2 = Enumerable.Range(a, b - a + 1).ToList(); List<int> remaining = myList2.Except(myList).ToList(); Console.WriteLine("Remaining numbers... "); foreach (int res in remaining) { Console.WriteLine(res); } } }
ผลลัพธ์
Numbers... 1 2 3 5 8 9 Remaining numbers... 4 6 7