Estoy usando C#.¿Cómo declaras un delegado predicado en línea?
Así que tengo un objeto que tiene algunos campos, en realidad no importa qué. Tengo una lista genérica de estos objetos.
List<MyObject> myObjects = new List<MyObject>();
myObjects.Add(myObject1);
myObjects.Add(myObject2);
myObjects.Add(myObject3);
Así que quiero eliminar objetos de mi lista según algunos criterios. Por ejemplo, myObject.X >= 10.
Me gustaría utilizar el método RemoveAll(Predicate<T> match)
para hacer esto.
Sé que puedo definir un delegado que se puede pasar a RemoveAll, pero me gustaría saber cómo definir esto en línea con un delegado anónimo, en lugar de crear un grupo de funciones de delegado que solo se utilizan en una sola ubicación.
Por qué debería querer VB delegados anónimos cuando tiene lambdas? Y sí, la próxima versión tendrá líneas múltiples lambdas y lambdas que no devuelven un valor (= 'Sub's). –
Por las razones que acaba de indicar: instrucciones de línea múltiple y funciones que no devuelven un valor. Es bueno saber que estará en la próxima versión, pero C# lo tiene desde 2005. –