كيف يمكنني إزالة عنصر يطابق معايير معينة من LinkedList في C# ؟
-
02-07-2019 - |
سؤال
لدي LinkedList ، حيث تم إدخال عضو يسمى معرف.أريد أن إزالة الإدخال من القائمة حيث الهوية يطابق قيمة البحث.ما هي أفضل طريقة للقيام بذلك ؟ أنا لا ترغب في استخدام إزالة () ، لأن الدخول.يساوي مقارنة الأعضاء الآخرين ، أريد فقط أن المباراة على الهوية.أتمنى أن تفعل شيئا مثل هذا:
entries.RemoveWhereTrue(e => e.id == searchId);
تحرير:شخص ما يمكن أن إعادة فتح هذا السؤال لي ؟ انها ليست مكررة - السؤال من المفترض أن يكون نسخة مكررة عن القائمة فئة.قائمة.RemoveAll لن يعمل - هذا جزء من القائمة فئة.
المحلول
list.Remove(list.First(e => e.id == searchId));
نصائح أخرى
وهنا حل بسيط:
list.Remove(list.First((node) => node.id == searchId));
فقط استخدم فيها طريقة التمديد.سوف تحصل على قائمة جديدة (IIRC).
لا تنتمي إلى StackOverflow