Preguntas etiquetadas con generics

197
Método estático en una clase genérica?

En Java, me gustaría tener algo como: class Clazz<T> { static void doIt(T object) { // ... } } Pero consigo No se puede hacer una referencia estática al tipo T no estático No entiendo los genéricos más allá de los usos básicos y, por lo tanto, no tiene mucho sentido. No ayuda que no...

196
Genérico TryParse

Estoy tratando de crear una extensión genérica que use 'TryParse' para verificar si una cadena es de un tipo dado: public static bool Is<T>(this string input) { T notUsed; return T.TryParse(input, out notUsed); } esto no se compilará ya que no puede resolver el símbolo 'TryParse' Según...

192
Rendimiento de matrices frente a listas

Digamos que necesita tener una lista / matriz de enteros que necesita iterar con frecuencia, y me refiero con mucha frecuencia. Las razones pueden variar, pero digamos que está en el corazón del bucle más interno de un procesamiento de alto volumen. En general, uno optaría por usar Listas (Lista)...

173
¿Cómo hacer que un método genérico de Java sea estático?

El siguiente es un fragmento sobre cómo hacer que una clase genérica de Java agregue un solo elemento a una matriz. ¿Cómo puedo hacer appendToArray un método estático? Agregar estática a la firma del método da como resultado errores de compilación. public class ArrayUtils<E> { public E[]...

171
Seleccione un diccionario <T1, T2> con LINQ

He usado la palabra clave "select" y el método de extensión para devolver un IEnumerable<T>mensaje con LINQ, pero necesito devolver un genérico Dictionary<T1, T2>y no puedo resolverlo. El ejemplo que aprendí de esto usó algo en una forma similar a la siguiente: IEnumerable<T>...

167
Func <T> sin parámetro

¿Puedo pasar un método con un parámetro de salida como Func? public IList<Foo> FindForBar(string bar, out int count) { } // somewhere else public IList<T> Find(Func<string, int, List<T>> listFunction) { } Func necesita un tipo para que out no se compile allí, y llamar a...

167
foreach vs someList.ForEach () {}

Aparentemente, hay muchas formas de iterar sobre una colección. Curioso si hay alguna diferencia, o por qué usarías una forma sobre la otra. Primer tipo: List<string> someList = <some way to init> foreach(string s in someList) { <process the string> } Otra...