¿Qué es Action<string>
, cómo se puede usar?¿Qué es la Acción <string>?
Respuesta
Action
es un delegado estándar que tiene de uno a 4 parámetros (16 en .NET 4) y no vuelve valor. Se usa para representar una acción.
Action<String> print = (x) => Console.WriteLine(x);
List<String> names = new List<String> { "pierre", "paul", "jacques" };
names.ForEach(print);
Hay otros delegados predefinidos:
Predicate
, delegado que tiene un parámetro y devuelve un valor lógico.Predicate<int> predicate = ((number) => number > 2); var list = new List<int> { 1, 1, 2, 3 }; var newList = list.FindAll(predicate);
Func
es el más genérico, que tiene de 1 a 4 parámetros (16) en .NET 4 y devuelve algo
Es un delegado con un parámetro, esto es una cadena.
utiles porque significa que usted no tiene que crear delegados más para las acciones, siempre y cuando se puede utilizar una acción estándar para ellos (es decir, el número de parámetros es fija, no hay valores por defecto y sólo puede utilizar una acción existente) .
aquí es un pequeño y fácil introducción de Acción:
Este es un delegado a una función con la firma void Bla(string parameter)
. Puede usar esto para pasar funciones a otras funciones. Por ejemplo, usted puede hacer esto
Action<string> action = (x => Console.WriteLine(x));
new List<string>{"1","2","3"}.ForEach(action);
para imprimir todos los caracteres a la consola
+1 Eras la única persona para ofrecerle un ejemplo significativo. –
Es básicamente un delegado que no devuelve un valor.
un vistazo aquí: http://msdn.microsoft.com/en-us/library/018hxwa8.aspx
Action<string>
no sería más que un delegado de un método que exceptúa un único parámetro de cadena y no devuelve nada.
public void ValidateInput(string input)
{
//some code
}
public void test()
{
Action<string> action = ValidateInput;
}
- 1. ¿Qué significa la Acción <Action>?
- 2. Acción <T> o Acción <in T>?
- 3. Convertir Acción <T> a la acción <object>
- 4. ¿Qué es una acción infantil MVC?
- 5. C# Acción <> con Func <> parámetro
- 6. ¿Por qué es {} <función() {}?
- 7. ¿Qué es <? = En C++?
- 8. ¿La acción actual es ChildAction?
- 9. Acción <T> vs Standard Volver
- 10. ¿Cuál es la mejor forma de convertir la Acción <T> en Func <T,Tres>?
- 11. parámetro "out" (referencia) con Acción <>
- 12. Diccionario de Acción <T> delegados
- 13. método que imita la acción <T> parámetro
- 14. Obtener los parámetros de la acción <T>
- 15. ¿Qué es impresión << EOF; y como esta funcionando?
- 16. Cómo delegar la acción correcta <Interface>?
- 17. Uso de la acción <PointerClass *> como argumento
- 18. ¿Qué idioma es eso? (<%REPEAT...%>, <opcional% ...%>)
- 19. ¿Qué es <span></span> elemento?
- 20. ¿Qué es estático <E>?
- 21. ¿Por qué (?! ^) Es equivalente a (? <! ^)?
- 22. ¿Qué es la Lista <?> en Java (Android)?
- 23. ¿Qué es la carpeta Oradiag_ <user>?
- 24. ¿Para qué es la clase Comparer <T>?
- 25. ¿Es posible cambiar la acción de UIButton?
- 26. ¿Qué es LinkedHashMap <k, v>?
- 27. Usando vim, ¿qué es "'<,'>"?
- 28. ¿Qué es httpd <defunct>?
- 29. ¿Cuál es la diferencia entre <% %> y <%=%>?
- 30. ¿Qué es el patrón de diseño de acción?
Creo que "1 a 16 parámetros" solo está disponible desde .NET 4. – Patrick
+1 por mencionar Predicado y dar ejemplos – Milan
Gracias, tienes razón Patrick, lo he actualizado. –