Perguntas com a marcação «generics»

91
obter enumerador genérico de uma matriz

Em C #, como se obtém um enumerador genérico de uma determinada matriz? No código abaixo, MyArrayé uma matriz de MyTypeobjetos. Gostaria de obter MyIEnumeratorda forma indicada, mas parece que obtenho um enumerador vazio (embora o tenha confirmado MyArray.Length > 0). MyType[] MyArray = ......

90
List <T> .Contains () é muito lento?

Alguém poderia me explicar por que a List.Contains()função dos genéricos é tão lenta? Eu tenho um List<long>com cerca de um milhão de números e o código que verifica constantemente se há um número específico dentro desses números. Tentei fazer a mesma coisa usando Dictionary<long,...

90
Lançar o objeto para T

Estou analisando um arquivo XML com a XmlReaderclasse em .NET e pensei que seria inteligente escrever uma função de análise genérica para ler diferentes atributos genericamente. Eu criei a seguinte função: private static T ReadData<T>(XmlReader reader, string value) {...

89
Qual é o objetivo da aula opcional de Guava

Recentemente li sobre isso e vi pessoas usando essa classe, mas em quase todos os casos, usar nulltambém funcionaria - se não de forma mais intuitiva. Alguém pode dar um exemplo concreto de onde Optionalconseguiria algo que nullnão poderia ou de uma forma muito mais limpa? A única coisa que...

87
C # usa System.Type como parâmetro genérico

Eu tenho uma lista de tipos (System.Type) que precisam ser consultados no banco de dados. Para cada um desses tipos, preciso chamar o seguinte método de extensão (que faz parte de LinqToNhibernate): Session.Linq<MyType>() No entanto, não tenho MyType, mas quero usar um Type. O que eu...

87
como instanciar List <MyType>?

Como posso fazer esse tipo de coisa funcionar? Posso verificar se, (obj instanceof List<?>)mas não se (obj instanceof List<MyType>). Existe uma maneira de fazer isso?

86
Classificando um IList em C #

Então me deparei com um problema interessante hoje. Temos um serviço da web WCF que retorna um IList. Não era realmente grande coisa até que eu quisesse resolver isso. Acontece que a interface IList não tem um método de classificação embutido. Acabei usando o ArrayList.Adapter(list).Sort(new...

84
O .NET tem um EventArgs <T> integrado?

Estou me preparando para criar uma classe EventArgs genérica para argumentos de evento que carregam um único argumento: public class EventArg<T> : EventArgs { // Property variable private readonly T p_EventData; // Constructor public EventArg(T data) { p_EventData = data; } //...